platform/upstream/gstreamer.git
13 years agobasetransform fix for upstream caps-renegotiation
Rob Clark [Sat, 22 May 2010 21:33:11 +0000 (16:33 -0500)]
basetransform fix for upstream caps-renegotiation

If initially pass-through caps are negotiated between a transform element's
sink and src pads, but then the downstream element returns different caps
on a buffer from pad_alloc(), basetransform gets stuck with proxy_alloc=TRUE
even though the upstream peer doesn't accept the caps, causing
gst_pad_peer_accept_caps() to be called on each buffer in _buffer_alloc():

    if (!gst_caps_is_equal (newcaps, caps)) {
      GST_DEBUG_OBJECT (trans, "caps are new");
      /* we have new caps, see if we can proxy downstream */
>>    if (gst_pad_peer_accept_caps (pad, newcaps)) {
        /* peer accepts the caps, return a buffer in this format */
        GST_DEBUG_OBJECT (trans, "peer accepted new caps");

which is taking ~40ms/frame.

This patch does two things.  (1) if the buffer returned from pad_alloc() has
new caps, trigger the decision whether to proxy the buffer-alloc to be
revisited, and (2) disable proxy if peer does not accept new caps.  (The first
part may not be strictly needed, but seemed like a good idea.)

Note that this issue would not arise except in case of downstream elements
who have on their template-caps, some that would be suitable for pass-through,
but at runtime pick more restrictive caps (for ex, after querying a driver for
what formats it actually supports).

13 years agoinfo: fix compilation on windows
Tim-Philipp Müller [Tue, 27 Jul 2010 12:30:51 +0000 (14:30 +0200)]
info: fix compilation on windows

Fix mismatched brackets (#625295).

13 years agogstdatetime: Fix localtime usage
Thiago Santos [Tue, 27 Jul 2010 10:21:19 +0000 (07:21 -0300)]
gstdatetime: Fix localtime usage

localtime only takes one parameter and returns a statically
allocated tm struct. Use it correctly.

Fixes #625368

13 years agobasetransform: Try suggesting caps on bad caps pad_alloc
Thiago Santos [Mon, 29 Mar 2010 21:05:40 +0000 (18:05 -0300)]
basetransform: Try suggesting caps on bad caps pad_alloc

When basetransform received an unsupported caps on pad_alloc
it just returned not-negotiated. This patch makes it query
the allowed caps between his sinkpad and upstream's srcpad
to find a caps to suggest.

This happens when dinamically switching pipeline elements
and upstream pad_allocs with the previous caps that was
being used.

Fixes #614296

13 years agoinfo: flush again after every line of debug output
Tim-Philipp Müller [Mon, 26 Jul 2010 16:53:57 +0000 (18:53 +0200)]
info: flush again after every line of debug output

g_printerr() used to do this for us. Also use libc's fprintf() functions,
to make sure the stderr pointer we use is actually compatible with the
libc linked against by GStreamer (which apparently may not always be the
same as what GLib is linked against on windows), and we don't need the
functionality ensured by g_fprintf().

Fixes #625295.

13 years agopo: update for new strings
Tim-Philipp Müller [Mon, 26 Jul 2010 16:53:35 +0000 (18:53 +0200)]
po: update for new strings

13 years agogstvalue: Adds tests for datetime
Thiago Santos [Wed, 23 Jun 2010 14:31:33 +0000 (11:31 -0300)]
gstvalue: Adds tests for datetime

Adds tests for datetime fields in gstvalue tests

Fixes #594504

13 years agogststructure: Adds datetime getter function
Thiago Santos [Wed, 23 Jun 2010 14:30:02 +0000 (11:30 -0300)]
gststructure: Adds datetime getter function

Adds gst_structure_get_date_time function

API: gst_structure_get_date_time

Fixes #594504

13 years agotag: Adds GST_TAG_DATE_TIME tag
Thiago Santos [Tue, 22 Jun 2010 02:42:44 +0000 (23:42 -0300)]
tag: Adds GST_TAG_DATE_TIME tag

Adds a new tag that represents a date and time a media was
created

API: GST_TAG_DATE_TIME

Fixes #594504

13 years agotaglist: Add datetime get functions
Thiago Santos [Thu, 22 Jul 2010 01:08:21 +0000 (22:08 -0300)]
taglist: Add datetime get functions

Adds _date_time_get and _date_time_get_index functions to
taglist.

API: gst_tag_list_get_date_time
API: gst_tag_list_get_date_time_index

Fixes #594504

13 years agogstvalue: Adds datetime functions
Thiago Santos [Thu, 22 Jul 2010 01:04:23 +0000 (22:04 -0300)]
gstvalue: Adds datetime functions

Adds a datetime functions to gstvalue

Fixes #594504

13 years agogstdatetime: Adds GstDateTime
Thiago Santos [Fri, 16 Jul 2010 17:09:12 +0000 (14:09 -0300)]
gstdatetime: Adds GstDateTime

Adds GstDateTime to represent dates + time + timezone
information.

Tests included.

API: GstDateTime
API: gst_date_time_get_day
API: gst_date_time_get_month
API: gst_date_time_get_year
API: gst_date_time_get_hour
API: gst_date_time_get_microsecond
API: gst_date_time_get_minute
API: gst_date_time_get_second
API: gst_date_time_get_time_zone_offset
API: gst_date_time_new
API: gst_date_time_new_local_time
API: gst_date_time_new_from_unix_epoch
API: gst_date_time_new_now_local_time
API: gst_date_time_new_now_utc
API: gst_date_time_ref
API: gst_date_time_unref

Fixes #594504

13 years agogst: Fix usage of glib_check_version()
Sebastian Dröge [Mon, 26 Jul 2010 12:59:51 +0000 (14:59 +0200)]
gst: Fix usage of glib_check_version()

It returns NULL if the installed GLib version is as least as
new as the required version and some explanatory string otherwise.

13 years agotools: make gst-inspect print the release date time stamp
Tim-Philipp Müller [Fri, 23 Jul 2010 19:46:10 +0000 (20:46 +0100)]
tools: make gst-inspect print the release date time stamp

13 years agoconfigure: use new AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO macro
Tim-Philipp Müller [Mon, 21 Jun 2010 16:34:49 +0000 (17:34 +0100)]
configure: use new AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO macro

13 years agobinaryregistry: save and load release date time in GstPluginDesc
Tim-Philipp Müller [Sun, 20 Jun 2010 00:55:00 +0000 (01:55 +0100)]
binaryregistry: save and load release date time in GstPluginDesc

https://bugzilla.gnome.org/show_bug.cgi?id=623040

13 years agoplugin: add release datetime field to GstPluginDesc and set it if GST_PACKAGE_RELEASE...
Tim-Philipp Müller [Sat, 19 Jun 2010 23:33:36 +0000 (00:33 +0100)]
plugin: add release datetime field to GstPluginDesc and set it if GST_PACKAGE_RELEASE_DATETIME is defined

This is a string describing a date and/or date/time in a simple subset of
the ISO-8601 format, namely either "YYYY-MM-DD" or "YYYY-MM-DDTHH:MMZ" (with
'T' the date/time separator and the 'Z' indicating UTC).

The main purpose of this field is to keep track of plugin and element versions
on an absolute timeline, so it's possible to determine which one is newer when
comparing two date time numbers. This will allow us to express 'replaces'-type
relationships betweeen plugins and element factories in future, even across
different modules and plugin merges or splits (source module version numbers
aren't particularly useful here, since they can only meaningfully be compared
within the same module). It also allows applications and libraries to reliably
check that a plugin is recent enough without making assumptions about modules
or module versions.

We use a string here to keep things simple and clear, esp. on the build system
side of things.

https://bugzilla.gnome.org/show_bug.cgi?id=623040

13 years agotests: make *_get_type() in tests thread safe
Shixin Zeng [Tue, 20 Jul 2010 14:25:20 +0000 (09:25 -0500)]
tests: make *_get_type() in tests thread safe

Even if it shouldn't be needed here. See #623491.

13 years agoinfo: write debugging output to file if GST_DEBUG_FILE environment variable is set
Tim-Philipp Müller [Fri, 4 Jun 2010 10:24:59 +0000 (11:24 +0100)]
info: write debugging output to file if GST_DEBUG_FILE environment variable is set

This changes behaviour slightly in that we no longer output things
via g_printerr(), so any non-standard glib printerr handlers are no
longer called when GST_DEBUG is enabled. However, this seems not
really desirable in most cases anyway, and the GLib docs also say
that libraries should not use g_printerr() for logging.

Other stderr output (e.g. warnings, or application messages) will
of course not be captured in the log file this way.

GST_DEBUG_FILE=- will redirect debug output to stdout.

14 years agogstpad: Assume pads are compatible if we don't have templates
Edward Hervey [Tue, 20 Jul 2010 18:49:12 +0000 (20:49 +0200)]
gstpad: Assume pads are compatible if we don't have templates

This is the same behaviour as if we had a pad template caps of
GST_CAPS_ANY on any of the pads (i.e. the actual check will be done
during caps negotiation).

14 years agobasetransform: Allow the subclass to add new fields to caps when getting new caps...
Sebastian Dröge [Sat, 17 Jul 2010 19:28:41 +0000 (21:28 +0200)]
basetransform: Allow the subclass to add new fields to caps when getting new caps from downstream

This was already done in all other cases where new caps are handled
except upstream negotiation.

14 years agodocs: fix some typos and add some missing links in the app dev manual
Michael Bunk [Mon, 12 Jul 2010 12:39:00 +0000 (14:39 +0200)]
docs: fix some typos and add some missing links in the app dev manual

Fixes #624164.

14 years agodocs: fix typo on gst-inspect man page
Michael Bunk [Mon, 12 Jul 2010 12:22:50 +0000 (14:22 +0200)]
docs: fix typo on gst-inspect man page

See #624164.

14 years agogstcheck: fix some silly list iteration code
Tim-Philipp Müller [Sat, 3 Jul 2010 14:08:12 +0000 (15:08 +0100)]
gstcheck: fix some silly list iteration code

g_list_length() is not the best way to check if a list is empty or not.

14 years agoregistry: use GStatBuf unconditionally and add typedef for backwards compatibility
Tim-Philipp Müller [Fri, 16 Jul 2010 16:53:38 +0000 (17:53 +0100)]
registry: use GStatBuf unconditionally and add typedef for backwards compatibility

No need to clutter the code with #if #else #endif.

See #623875.

14 years agostructure: Use a const GstStructure * as parameter for some more gst_structure_get...
Sebastian Dröge [Fri, 16 Jul 2010 15:33:38 +0000 (17:33 +0200)]
structure: Use a const GstStructure * as parameter for some more gst_structure_get variants

14 years agoRevert "-launch: disable CLOCK_LOST message handling"
Sebastian Dröge [Wed, 14 Jul 2010 17:47:43 +0000 (19:47 +0200)]
Revert "-launch: disable CLOCK_LOST message handling"

This reverts commit 1f8eba611a63f45766c38c640288e42b27b10bd4.

This should be fixed now (and if not should be fixed) and the
clock-lost handling is now needed for playbin2 gapless playback.

See bug #579127.

14 years agoregistrybinary: Fix compatibility with GLib 2.25 when using MSVC
David Hoyt [Thu, 8 Jul 2010 19:04:54 +0000 (21:04 +0200)]
registrybinary: Fix compatibility with GLib 2.25 when using MSVC

Newer GLib uses a new type for g_stat() and friends to improve
Windows compatibility. On POSIX this is a typedef to struct stat.

Fixes bug #623875.

14 years agopipeline: If the currently used clock gets lost update it the next time when going...
Sebastian Dröge [Thu, 8 Jul 2010 05:48:07 +0000 (07:48 +0200)]
pipeline: If the currently used clock gets lost update it the next time when going from PAUSED to playing

Fixes bug #623806.

14 years agobasesrc: Return values in stream time for the POSITION query
Sebastian Dröge [Mon, 5 Jul 2010 17:33:01 +0000 (19:33 +0200)]
basesrc: Return values in stream time for the POSITION query

Fixes bug #623622.

14 years agobasesink: Implement GstElement::get_query_types()
Sebastian Dröge [Mon, 5 Jul 2010 16:54:45 +0000 (18:54 +0200)]
basesink: Implement GstElement::get_query_types()

14 years agobasesink: Only answer the SEGMENT query in pull mode
Sebastian Dröge [Tue, 6 Jul 2010 08:13:04 +0000 (10:13 +0200)]
basesink: Only answer the SEGMENT query in pull mode

Otherwise the element handling the seeks should answer this query.

Fixes bug #623622.

14 years agobasetransform: Implement POSITION query
Sebastian Dröge [Mon, 5 Jul 2010 08:36:05 +0000 (10:36 +0200)]
basetransform: Implement POSITION query

Fixes bug #623541.

14 years agoGstPad: Do not call gst_pad_accept_caps() when caps change
Edward Hervey [Fri, 25 Jun 2010 14:31:06 +0000 (16:31 +0200)]
GstPad: Do not call gst_pad_accept_caps() when caps change

Instead just check that the caps intersect with the pad template.
The elements should properly accept/refuse the caps in setcaps().

Shaves off calling the default implementation of acceptcaps which does
an expensive gst_pad_get_caps() (so if you have 50 of those elements in
a row, you'd be doing factorial(50) gst_pad_get_caps...).

Does not break any module unit test and most apps work fine.

https://bugzilla.gnome.org/show_bug.cgi?id=622740

14 years agoutils: Add more details about gst_element_get_compatible_pad
Edward Hervey [Thu, 8 Jul 2010 14:24:21 +0000 (16:24 +0200)]
utils: Add more details about gst_element_get_compatible_pad

14 years agoBack to development.
Tim-Philipp Müller [Fri, 16 Jul 2010 10:16:15 +0000 (11:16 +0100)]
Back to development.

14 years agoRelease 0.10.30 RELEASE-0.10.30
Tim-Philipp Müller [Wed, 14 Jul 2010 22:59:43 +0000 (23:59 +0100)]
Release 0.10.30

14 years agopo: update translations
Tim-Philipp Müller [Wed, 14 Jul 2010 16:58:15 +0000 (17:58 +0100)]
po: update translations

14 years agopad: remove comma at the end of the last enum value
Stefan Kost [Thu, 15 Jul 2010 09:01:24 +0000 (12:01 +0300)]
pad: remove comma at the end of the last enum value

Fixes the build for c++.

14 years agochecks: add unit test for recent taglist merge_strings_with_comma fix
Tim-Philipp Müller [Sun, 11 Jul 2010 18:00:54 +0000 (19:00 +0100)]
checks: add unit test for recent taglist merge_strings_with_comma fix

See #624113.

14 years agotaglist: fix merge_strings_with_comma() for more than two strings
Eduardo Dobay [Sun, 11 Jul 2010 17:59:53 +0000 (18:59 +0100)]
taglist: fix merge_strings_with_comma() for more than two strings

Fixes #624113.

14 years ago.gitignore: ignore new basesink unit test binary
Tim-Philipp Müller [Thu, 8 Jul 2010 12:46:56 +0000 (13:46 +0100)]
.gitignore: ignore new basesink unit test binary

14 years agotools: remove -p shorthand for --no-sigusr-handler
Tim-Philipp Müller [Thu, 8 Jul 2010 12:43:22 +0000 (13:43 +0100)]
tools: remove -p shorthand for --no-sigusr-handler

It's not really needed, and doesn't map any longer after the long option
has been renamed.

14 years ago0.10.29.4 pre-release
Tim-Philipp Müller [Tue, 6 Jul 2010 14:47:40 +0000 (15:47 +0100)]
0.10.29.4 pre-release

Also bump libtool versions now (which I meant to do for the first
pre-release but forgot).

14 years agopo: update translations
Tim-Philipp Müller [Tue, 6 Jul 2010 22:44:26 +0000 (23:44 +0100)]
po: update translations

14 years agobasesink: add accessors for the enable-last-buffer property.
Alessandro Decina [Tue, 6 Jul 2010 14:21:05 +0000 (16:21 +0200)]
basesink: add accessors for the enable-last-buffer property.

API: gst_base_sink_set_last_buffer_enabled
API: gst_base_sink_is_last_buffer_enabled

14 years agobasesink: add new enable-last-buffer property.
Alessandro Decina [Tue, 6 Jul 2010 10:18:45 +0000 (12:18 +0200)]
basesink: add new enable-last-buffer property.

Add a new enable-last-buffer property. When false, it disables storing the last
received buffer in basesink::last-buffer. This can be useful in cases where
buffers need to be released asap.

API: GstBaseSink::enable-last-buffer

14 years agochecks: rewrite gsttagsetter test to use fewer g_usleep()
Tim-Philipp Müller [Tue, 6 Jul 2010 09:48:27 +0000 (10:48 +0100)]
checks: rewrite gsttagsetter test to use fewer g_usleep()

Something about that seems to interact badly with some schedulers,
so do things differently.

Fixes #623469.

14 years agodocs: add new add gst_clock_id_wait_async_full() to docs
Tim-Philipp Müller [Tue, 6 Jul 2010 09:19:09 +0000 (10:19 +0100)]
docs: add new add gst_clock_id_wait_async_full() to docs

API: add gst_clock_id_wait_async_full

See #623589.

14 years agogstvalue: Improve gst_value_{set|get}_caps docs
Edward Hervey [Tue, 6 Jul 2010 08:28:14 +0000 (10:28 +0200)]
gstvalue: Improve gst_value_{set|get}_caps docs

14 years agowin32: export gst_clock_id_wait_async_full
Alessandro Decina [Tue, 6 Jul 2010 08:35:09 +0000 (10:35 +0200)]
win32: export gst_clock_id_wait_async_full

14 years agotests: remove ABI checks for GstClockEntry.
Alessandro Decina [Tue, 6 Jul 2010 08:31:25 +0000 (10:31 +0200)]
tests: remove ABI checks for GstClockEntry.

14 years agoclock: document that GstClockEntry should be treated as ana opaque structure.
Alessandro Decina [Mon, 5 Jul 2010 16:45:55 +0000 (18:45 +0200)]
clock: document that GstClockEntry should be treated as ana opaque structure.

14 years agoclock: use the new gst_clock_id_wait_async_full.
Alessandro Decina [Mon, 5 Jul 2010 11:10:09 +0000 (13:10 +0200)]
clock: use the new gst_clock_id_wait_async_full.

Use the new gst_clock_id_wait_async_full in gst_clock_set_master.
Also add some tests.

14 years agoclock: fix refcounting bug in gst_clock_set_master.
Alessandro Decina [Mon, 5 Jul 2010 11:01:53 +0000 (13:01 +0200)]
clock: fix refcounting bug in gst_clock_set_

Make sure clock->clockid is unreffed before clock->master.
gst_clock_id_unschedule (clock->clockid) tries to access clock->master. If
clock->master is unreffed before and it's deallocated, _unschedule could access
free'd memory.

14 years agoclock: add gst_clock_id_wait_async_full.
Alessandro Decina [Mon, 5 Jul 2010 10:56:40 +0000 (12:56 +0200)]
clock: add gst_clock_id_wait_async_full.

Add gst_clock_id_wait_async_full. It's the same as gst_clock_id_wait_async but
allows passing a GDestroyNotify to destroy user_data.

14 years agodocs: improve the api docs for new GstPadLinkChecks and its use
Stefan Kost [Mon, 5 Jul 2010 14:50:33 +0000 (17:50 +0300)]
docs: improve the api docs for new GstPadLinkChecks and its use

14 years agoREADME: update after removal of "old" dir.
Stefan Kost [Mon, 5 Jul 2010 09:21:51 +0000 (12:21 +0300)]
README: update after removal of "old" dir.

Remove "old" and add a line about "examples".

14 years agoRemove old 0.8 tests and examples from git tree
Tim-Philipp Müller [Sun, 4 Jul 2010 16:34:30 +0000 (17:34 +0100)]
Remove old 0.8 tests and examples from git tree

Doesn't really look like anything's worth keeping.

14 years agocheck: skip silly test that segfaults when in a CK_FORK=no environment
Tim-Philipp Müller [Sat, 3 Jul 2010 15:39:40 +0000 (16:39 +0100)]
check: skip silly test that segfaults when in a CK_FORK=no environment

See #623469.

14 years agochecks: make fakesrc check work in a CK_FORK=no environment
Tim-Philipp Müller [Sat, 3 Jul 2010 14:13:14 +0000 (15:13 +0100)]
checks: make fakesrc check work in a CK_FORK=no environment

Reset have_eos at the beginning of each test.

See #623469.

14 years agochecks: run tests calling gst_deinit() last so things work with CK_FORK=no
Tim-Philipp Müller [Sat, 3 Jul 2010 13:09:36 +0000 (14:09 +0100)]
checks: run tests calling gst_deinit() last so things work with CK_FORK=no

Because gst_init() will fail once gst_deinit() has been called.

See #623469.

14 years agochecks: don't assume element factory is not loaded yet
Tim-Philipp Müller [Sat, 3 Jul 2010 13:04:32 +0000 (14:04 +0100)]
checks: don't assume element factory is not loaded yet

It may already be loaded if check is being run with CK_FORK=no.

See #623469.

14 years agodocs: fix a couple of typos in the manual
Tim-Philipp Müller [Thu, 1 Jul 2010 18:58:09 +0000 (19:58 +0100)]
docs: fix a couple of typos in the manual

Spotted by Alexander Saprykin.

Fixes #622379.

14 years agogstcaps: Make sure _normalize() is applied on all structures.
Edward Hervey [Thu, 1 Jul 2010 15:56:33 +0000 (17:56 +0200)]
gstcaps: Make sure _normalize() is applied on all structures.

We need to use gst_caps_get_size() in the loop counter since some
structures could be added while iterating.

Fixes #623301

14 years agodocs: update 'XML in GStreamer' section in application developer's manual
Tim-Philipp Müller [Wed, 30 Jun 2010 12:16:35 +0000 (13:16 +0100)]
docs: update 'XML in GStreamer' section in application developer's manual

14 years ago0.10.29.3 pre-release
Tim-Philipp Müller [Tue, 29 Jun 2010 17:48:05 +0000 (18:48 +0100)]
0.10.29.3 pre-release

14 years agomultiqueue: implement acceptcaps function
Wim Taymans [Fri, 25 Jun 2010 17:03:27 +0000 (19:03 +0200)]
multiqueue: implement acceptcaps function

Our acceptcaps function can simply forward the query.

14 years agoBump automake requirement to 1.10
Tim-Philipp Müller [Mon, 28 Jun 2010 14:28:59 +0000 (15:28 +0100)]
Bump automake requirement to 1.10

For maintainability reasons and $(builddir).

Fixes #622944.

14 years agotools: mention --eos-on-shutdown on gst-launch man page
Tim-Philipp Müller [Mon, 28 Jun 2010 12:56:00 +0000 (13:56 +0100)]
tools: mention --eos-on-shutdown on gst-launch man page

14 years agoutils: Don't use G_GNUC_CONST for the uint64 scaling functions
Sebastian Dröge [Mon, 28 Jun 2010 08:20:39 +0000 (10:20 +0200)]
utils: Don't use G_GNUC_CONST for the uint64 scaling functions

They are actually *not* const functions because on architectures
without int128 instructions the parameters were changed.

gcc re-used the parameters on the stack for multiple calls though
and the changed parameters were used for the second call then.

Fixes bug #623003.

14 years ago0.10.29.2 pre-release
Tim-Philipp Müller [Sat, 26 Jun 2010 16:48:31 +0000 (17:48 +0100)]
0.10.29.2 pre-release

14 years agopo: update translations
Tim-Philipp Müller [Sat, 26 Jun 2010 16:47:55 +0000 (17:47 +0100)]
po: update translations

14 years agoexamples: remove xml example build system bits and purge from tree
Tim-Philipp Müller [Sat, 26 Jun 2010 09:16:36 +0000 (10:16 +0100)]
examples: remove xml example build system bits and purge from tree

Fixes make distcheck.

14 years agoxml: keep dummy gst_xml_get_type() function for g-i even if rest of GstXML is removed
Tim-Philipp Müller [Sat, 26 Jun 2010 08:59:31 +0000 (09:59 +0100)]
xml: keep dummy gst_xml_get_type() function for g-i even if rest of GstXML is removed

Add a minimal gst_xml_get_type() function, so that gobject-introspection doesn't
break the compilation if we're compiling with GST_REMOVE_DEPRECATED defined or
--disable-loadsave having been passed to configure. Until someone figures out
a better way at least.

14 years agoDon't include <libxml/parser.h> from public headers if GST_DISABLE_DEPRECATED is...
Tim-Philipp Müller [Sat, 26 Jun 2010 00:01:49 +0000 (01:01 +0100)]
Don't include <libxml/parser.h> from public headers if GST_DISABLE_DEPRECATED is defined

Since everything GstXML related has been deprecated, we can now skip the
libxml includes from the public headers when GST_DISABLE_DEPRECATED is
defined.

See #463435.

14 years agoexamples: add missing stdlib.h include in typefind example
Tim-Philipp Müller [Fri, 25 Jun 2010 23:18:10 +0000 (00:18 +0100)]
examples: add missing stdlib.h include in typefind example

14 years agodot-dump: terminate truncated strings and escape special chars
Stefan Kost [Fri, 25 Jun 2010 18:23:22 +0000 (21:23 +0300)]
dot-dump: terminate truncated strings and escape special chars

Fixes syntax errors in generated dot files for caps with strings.

14 years agopad: more documentation regarding the new flags
Edward Hervey [Fri, 25 Jun 2010 16:52:02 +0000 (18:52 +0200)]
pad: more documentation regarding the new flags

14 years agopad: make the NOTHING link check flag be 0
Wim Taymans [Fri, 25 Jun 2010 16:18:55 +0000 (18:18 +0200)]
pad: make the NOTHING link check flag be 0

Make the pad link check of NOTHING be 0. This way we have a flag for each
feature and 0 when no flags are set.

14 years agotests: Remove GstXML tests
Sebastian Dröge [Fri, 25 Jun 2010 16:24:47 +0000 (18:24 +0200)]
tests: Remove GstXML tests

14 years agogstxml: Deprecate GstXml and related functions
Sebastian Dröge [Fri, 25 Jun 2010 16:13:57 +0000 (18:13 +0200)]
gstxml: Deprecate GstXml and related functions

Pipeline serialisation to and from XML is horribly broken for all
but the most simple use cases, and will likely never be fixed.
Make sure everyone playing around with these tools is aware of
this, to avoid frustration. See countless bug reports in bugzilla.

Fixes bug #622685.

14 years agocontroller: Fix build with GST_REMOVE_DEPRECATED
Sebastian Dröge [Fri, 25 Jun 2010 16:11:30 +0000 (18:11 +0200)]
controller: Fix build with GST_REMOVE_DEPRECATED

14 years agobenchmarks: Use gst_element_link_pads_full
Edward Hervey [Thu, 24 Jun 2010 10:19:20 +0000 (12:19 +0200)]
benchmarks: Use gst_element_link_pads_full

We're testing caps negotiation, not pad linking. Brings the startup
time down 100 fold.

14 years agotools: deprecate gst-xmllaunch and print fat warning if someone tries to use it
Tim-Philipp Müller [Thu, 24 Jun 2010 16:53:36 +0000 (17:53 +0100)]
tools: deprecate gst-xmllaunch and print fat warning if someone tries to use it

Pipeline serialisation to and from XML is horribly broken for all
but the most simple use cases, and will likely never be fixed.
Make sure everyone playing around with these tools is aware of
this, to avoid frustration. See countless bug reports in bugzilla.

14 years agogst-launch: rename new --no-play command line option to --no-sigusr-handler
Tim-Philipp Müller [Thu, 24 Jun 2010 16:22:13 +0000 (17:22 +0100)]
gst-launch: rename new --no-play command line option to --no-sigusr-handler

--no-play seems a bit confusing.

Fixes #621867.

14 years agoAutomatic update of common submodule
Stefan Kost [Thu, 24 Jun 2010 12:07:11 +0000 (15:07 +0300)]
Automatic update of common submodule

From 73ff93a to a519571

14 years agobinaryregistry: ignore the plugin cache if the filter environment has changed
Tim-Philipp Müller [Wed, 23 Jun 2010 10:02:16 +0000 (11:02 +0100)]
binaryregistry: ignore the plugin cache if the filter environment has changed

Make sure that we properly update the registry and the cache file whenever
the filter environment changes or there's no more filter set.

14 years agopluginloading: add support for whitelisting based on plugin or source module name...
Tim-Philipp Müller [Thu, 27 May 2010 11:36:10 +0000 (12:36 +0100)]
pluginloading: add support for whitelisting based on plugin or source module name and path

This feature is primarily intended for use in plugin modules' unit tests.

Consider the following situation: gst-plugins-good is built against an
installed GStreamer core. An older version of gst-plugins-good is also
installed in that prefix, along with random other plugin modules. Now,
when doing 'make check' in the just-built gst-plugins-good tree, we
want to only load plugins from GStreamer core, gst-plugins-base, and
gst-plugins-good, but not random other modules (we don't want any unit
tests to fail just because some module in gst-plugins-bad has a broken
plugin_init, for example). Also, we want to only load gst-plugins-good
modules from the locally-built source tree, but not any of the older
gst-plugins-good modules installed. This is usually assured by loading
the ones in the source tree first (by adding that path first to the
right environment variables), but it gets tricky when plugins are
moved, removed, merged, or renamed, or the plugin filename changes.

Note that 'make check' should really work right without doing
'make install' or uninstalling the old gst-plugins-good package (or
any other gst-plugins-foo package) first.

Enter GST_PLUGIN_LOADING_WHITELIST. This environment variable may
contain source-package@path-prefix pairs separated by the platform
search path separator (G_SEARCHPATH_SEPARATOR_S). The source package
and path prefix are separated by the '@' character. The path prefix is
entirely optional, as is the '@' separator if no path is given.

It is also possible to filter based on plugin names instead of the name
of the source-package by specifying one or more plugin names separated
by commas before the optional path prefix.

In short, the following match patterns are possible:

   plugin1,plugin2@pathprefix or
   plugin1,plugin2@* or just
   plugin1,plugin2 or
   source-package@pathprefix or
   source-package@* or just
   source-package

So for our gst-plugins-good unit test example above, we  would set the
environment variable on *nix to something like this (will likely be a
relative path in practice):
gstreamer:gst-plugins-base:gst-plugins-good@/path/to/src/gst-plugins-good

Fixes #619815 and #619717.

14 years agogstghostpad: We don't need any checks when linking target pad
Edward Hervey [Wed, 23 Jun 2010 15:24:07 +0000 (17:24 +0200)]
gstghostpad: We don't need any checks when linking target pad

https://bugzilla.gnome.org/show_bug.cgi?id=622504

14 years agogstutils: New gst_element_link_pads_full method
Edward Hervey [Wed, 23 Jun 2010 15:00:17 +0000 (17:00 +0200)]
gstutils: New gst_element_link_pads_full method

Links the elements with the specified pad linking checks.

API:gst_element_link_pads_full

https://bugzilla.gnome.org/show_bug.cgi?id=622504

14 years agoGstPad: Add new pad linking method with configurable checks.
Edward Hervey [Wed, 23 Jun 2010 14:45:19 +0000 (16:45 +0200)]
GstPad: Add new pad linking method with configurable checks.

To be used for cases where we don't need all checks to be validated.

API: gst_pad_link_full
API: GstPadLinkCheck

https://bugzilla.gnome.org/show_bug.cgi?id=622504

14 years agotag: Adds GST_TAG_IMAGE_ORIENTATION tag
Thiago Santos [Tue, 15 Jun 2010 21:26:01 +0000 (18:26 -0300)]
tag: Adds GST_TAG_IMAGE_ORIENTATION tag

Adds a new tag to inform about the image orientation and how
to rotate and flip it before display.

Note that this tag is a string with a predefined set of
possible values.

API: GST_TAG_IMAGE_ORIENTATION

Fixes #619508

14 years agogstobject: deprecate gst_object_{set|get}_name_prefix()
Tim-Philipp Müller [Tue, 22 Jun 2010 17:53:15 +0000 (18:53 +0100)]
gstobject: deprecate gst_object_{set|get}_name_prefix()

The name prefix stuff has never been used for anything and it doesn't
look like we'll ever want to use it for anything.

Fixes #621006.

14 years agoAdd gobject-introspection annotations for GstPadIntLinkFunction
Johan Dahlin [Tue, 22 Jun 2010 13:20:53 +0000 (10:20 -0300)]
Add gobject-introspection annotations for GstPadIntLinkFunction

Fixes build with latest gobject-introspection from git.

https://bugzilla.gnome.org/show_bug.cgi?id=622025

14 years agoqueue2: fix merging of ranges
Wim Taymans [Mon, 21 Jun 2010 09:41:46 +0000 (11:41 +0200)]
queue2: fix merging of ranges

When we merge two ranges, don't updata the current range writing_pos with
whereever we were writing earlier in the merged range.  Spotted by bilboed.

14 years agoregistry: also skip .deps dirs when scanning for plugins
Tim-Philipp Müller [Sat, 19 Jun 2010 10:19:37 +0000 (11:19 +0100)]
registry: also skip .deps dirs when scanning for plugins

No need to descend into .deps dirs in uninstalled setups, we know
these don't contain any plugins.

14 years agotaglist: add gst_tag_list_peek_string_index to avoid a copy
Thiago Santos [Thu, 17 Jun 2010 14:39:04 +0000 (11:39 -0300)]
taglist: add gst_tag_list_peek_string_index to avoid a copy

Adds a variation of the _get_string_index function that doesn't copy
the string.

API: gst_tag_list_peek_string_index

https://bugzilla.gnome.org/show_bug.cgi?id=621896

14 years agotypefind: make sure buffers' metadata is writable before setting caps on them
Tim-Philipp Müller [Fri, 18 Jun 2010 11:00:53 +0000 (12:00 +0100)]
typefind: make sure buffers' metadata is writable before setting caps on them

Fixes warnings when using playbin2 with dvb:// streams, where typefind
comes after mpegtsparse.

14 years agodocs: update introspected plugin docs for gstdoc-scanobj changes
Tim-Philipp Müller [Thu, 17 Jun 2010 14:52:57 +0000 (15:52 +0100)]
docs: update introspected plugin docs for gstdoc-scanobj changes

Update common for latest gstdoc-scanobj and inspect xml files for
escaping and pad template order changes.