platform/upstream/gstreamer.git
13 years agobaseparse: Return template caps instead of other side's peer caps if get_sink_caps...
Sebastian Dröge [Wed, 23 Nov 2011 12:42:56 +0000 (13:42 +0100)]
baseparse: Return template caps instead of other side's peer caps if get_sink_caps vfunc is not implemented

Using gst_pad_proxy_get_caps() breaks backwards compatibility with old
parsers because it will propagate the other side's fields like "parsed"
and "framed" and also breaks parser/converters.

Fixes bug #664221.

13 years agogst-inspect: print current value as default value
Tim-Philipp Müller [Sat, 12 Nov 2011 16:42:14 +0000 (16:42 +0000)]
gst-inspect: print current value as default value

Instead of printing separate 'Current' and 'Default' values
(the former obtained via g_object_get() and the latter from
the property GParamSpec), simply print the Current value as
the Default value. This is the right thing to do for almost
all elements and avoids confusion if a subclass of a base
class chooses a different default than the base class.

13 years agogst, controller: replace g_list_prepend + reverse with GQueue
Tim-Philipp Müller [Sat, 12 Nov 2011 14:55:07 +0000 (14:55 +0000)]
gst, controller: replace g_list_prepend + reverse with GQueue

13 years agoAndroid: build audio controller example
Stefan Sauer [Wed, 9 Nov 2011 10:05:59 +0000 (11:05 +0100)]
Android: build audio controller example

Add buildsystem hooks for building the audiocontroller example
with the NDK.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
13 years agogstvalue: consider lists and ranges equal if they hold the same set
Vincent Penquerc'h [Tue, 8 Nov 2011 18:09:28 +0000 (18:09 +0000)]
gstvalue: consider lists and ranges equal if they hold the same set

This fixes caps operations when different elements advertise some
of their caps' properties differently (eg, for audio channels, either
a range from 1 to 2, or a list of 1 and 2).

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

13 years agotests: add a subset test for structure
Stefan Sauer [Wed, 9 Nov 2011 10:24:26 +0000 (11:24 +0100)]
tests: add a subset test for structure

13 years agodocs: also fix wrong call order for controller in manual
Stefan Sauer [Fri, 28 Oct 2011 11:39:58 +0000 (13:39 +0200)]
docs: also fix wrong call order for controller in manual

13 years agotests: pad: add test to verify flushing behaviour
René Stadler [Tue, 8 Nov 2011 11:22:21 +0000 (12:22 +0100)]
tests: pad: add test to verify flushing behaviour

Seems like a trivial case, but this was actually broken in 0.11 recently.

13 years agodocs: fix Since: markers for API added after 0.10.35
Tim-Philipp Müller [Tue, 8 Nov 2011 00:32:36 +0000 (00:32 +0000)]
docs: fix Since: markers for API added after 0.10.35

13 years agowin32: update .def file for new API
Tim-Philipp Müller [Tue, 8 Nov 2011 00:15:49 +0000 (00:15 +0000)]
win32: update .def file for new API

API: gst_caps_is_strictly_equal()

13 years agogstcaps: remove unneeded use of gint64
Vincent Penquerc'h [Thu, 27 Oct 2011 11:59:57 +0000 (12:59 +0100)]
gstcaps: remove unneeded use of gint64

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

13 years agogstvalue: quicker version of intersection when we do not need the result
Vincent Penquerc'h [Thu, 27 Oct 2011 11:24:13 +0000 (12:24 +0100)]
gstvalue: quicker version of intersection when we do not need the result

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

13 years agogststructure: simplify return statement in gst_structure_can_intersect
Vincent Penquerc'h [Thu, 27 Oct 2011 11:02:43 +0000 (12:02 +0100)]
gststructure: simplify return statement in gst_structure_can_intersect

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

13 years agogststructure: early out when we know a value cannot be a subset
Vincent Penquerc'h [Thu, 27 Oct 2011 10:41:30 +0000 (11:41 +0100)]
gststructure: early out when we know a value cannot be a subset

If two values can be ordered, but are unequal, they are
necessarily distinct, thus one cannot be a subset of the other.

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

13 years agogstvalue: quicker test for substraction emptiness
Vincent Penquerc'h [Thu, 27 Oct 2011 09:35:53 +0000 (10:35 +0100)]
gstvalue: quicker test for substraction emptiness

When we do not care about the actual resulting set,
but only whether it is empty of not, we can skip a fair bit
of GValue juggling.

Add a function that does so, since we cannot just pass NULL
to the existing API as it may be part of the API contract.

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

13 years agogststructure: rejig test ordering for speed
Vincent Penquerc'h [Thu, 27 Oct 2011 08:45:41 +0000 (09:45 +0100)]
gststructure: rejig test ordering for speed

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

13 years agobasetransform: Only use the cached transform on strictly equal caps
Sjoerd Simons [Thu, 3 Nov 2011 15:36:59 +0000 (15:36 +0000)]
basetransform: Only use the cached transform on strictly equal caps

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

13 years agocaps: Add gst_caps_is_strictly_equal
Sjoerd Simons [Thu, 3 Nov 2011 15:35:32 +0000 (15:35 +0000)]
caps: Add gst_caps_is_strictly_equal

13 years agointrospection: add Value annotations for GST_SECOND, GST_MSECOND, GST_USECOND, GST_NS...
Peteris Krisjanis [Sat, 15 Oct 2011 19:52:25 +0000 (22:52 +0300)]
introspection: add Value annotations for GST_SECOND, GST_MSECOND, GST_USECOND, GST_NSECOND constants

gobject-introspection won't parse them properly otherwise.

Still need to force the right type though (either GstClockTime or
guint64), but Type: xyz has no effect for me here, so someone with
a newer g-i needs to test this.

Some other defines are also missing, e.g. GST_CLOCK_TIME_NONE.

13 years agoconfigure: suppress unused variable warnings if gst debugging is disabled
Tim-Philipp Müller [Fri, 4 Nov 2011 00:03:05 +0000 (00:03 +0000)]
configure: suppress unused variable warnings if gst debugging is disabled

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

13 years agoconfigure: fix typo around GLIB_EXTRA_CFLAGS in GST_ALL_CXXFLAGS
Tim-Philipp Müller [Fri, 4 Nov 2011 00:02:07 +0000 (00:02 +0000)]
configure: fix typo around GLIB_EXTRA_CFLAGS in GST_ALL_CXXFLAGS

13 years agoqueue: use statically allocated GQueue
Tim-Philipp Müller [Thu, 3 Nov 2011 23:08:52 +0000 (23:08 +0000)]
queue: use statically allocated GQueue

13 years agobin: use statically allocated GQueue
Tim-Philipp Müller [Thu, 3 Nov 2011 22:58:50 +0000 (22:58 +0000)]
bin: use statically allocated GQueue

Because we can.

13 years agocollectpads2: use flags enum instead of guint in structure
Tim-Philipp Müller [Thu, 3 Nov 2011 22:51:57 +0000 (22:51 +0000)]
collectpads2: use flags enum instead of guint in structure

13 years agoqueue2: use statically allocated GQueue
Tim-Philipp Müller [Thu, 3 Nov 2011 08:47:20 +0000 (08:47 +0000)]
queue2: use statically allocated GQueue

13 years agoghostpad: Don't cache internal proxy pad target
Nicolas Dufresne [Tue, 25 Oct 2011 21:26:50 +0000 (17:26 -0400)]
ghostpad: Don't cache internal proxy pad target

The internal proxy pad target is simply a cache of the internal proxy pad
peer. This patch uses the well implement GstPad peer handling to obtain the
target. This fixes issues with target not being set in both direction when
two ghostpads are linked together (empty bin).

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

13 years agoadapter: simplify gst_adapter_take_list()
Tim-Philipp Müller [Tue, 1 Nov 2011 14:17:21 +0000 (14:17 +0000)]
adapter: simplify gst_adapter_take_list()

Use a stack-allocated GQueue to assemble our GList.

13 years agoconfigure: make GLIB_EXTRA_CFLAGS overwritable
Tim-Philipp Müller [Mon, 31 Oct 2011 17:45:44 +0000 (17:45 +0000)]
configure: make GLIB_EXTRA_CFLAGS overwritable

Make 'make GLIB_EXTRA_CFLAGS=...' work.

13 years agofilter: deprecate gst_filter_run()
Tim-Philipp Müller [Sun, 30 Oct 2011 21:54:36 +0000 (21:54 +0000)]
filter: deprecate gst_filter_run()

It's not really used outside of core at all, and has
serious namespace issues. If anyone feels the need to
revive this one, please use a less generic name space.

API: deprecate gst_filter_run()
API: deprecate GstFilterFunc

13 years agoregistry: don't use soon-to-be-deprecated gst_filter_run()
Tim-Philipp Müller [Sun, 30 Oct 2011 21:39:36 +0000 (21:39 +0000)]
registry: don't use soon-to-be-deprecated gst_filter_run()

Lines-of-code savings are negligible anyway.

13 years agopluginfeature: deprecate gst_plugin_feature_type_name_filter()
Tim-Philipp Müller [Sun, 30 Oct 2011 21:21:59 +0000 (21:21 +0000)]
pluginfeature: deprecate gst_plugin_feature_type_name_filter()

It's only used internally anyway and the helper struct
has namespace issues.

API: deprecated gst_plugin_feature_type_name_filter()
API: deprecated GstTypeNameData

13 years agotaglist: add to_string and new_from_string functions
Tim-Philipp Müller [Sun, 30 Oct 2011 09:58:16 +0000 (09:58 +0000)]
taglist: add to_string and new_from_string functions

We want to make GstTagList opaque and not have people use
GstStructure API on it.

API: gst_tag_list_to_string()
API: gst_tag_list_new_from_string()

13 years agotaglist: avoid pointless tag name -> quark lookups
Tim-Philipp Müller [Sun, 30 Oct 2011 00:46:22 +0000 (01:46 +0100)]
taglist: avoid pointless tag name -> quark lookups

We never get a tag name quark from a caller, it's always a
string, from which we'll try to look up our tag info in the
hash table, so change the hash table key from quark to string.
Avoids a bunch of pointless string => quark lookup in the
global quark table. We need to do an extra string => quark
conversion now when we copy a taglist, but in that case we're
in a slow path anyway.

13 years agotaglist: add gst_tag_list_is_equal()
Tim-Philipp Müller [Sat, 29 Oct 2011 23:44:44 +0000 (00:44 +0100)]
taglist: add gst_tag_list_is_equal()

API: gst_tag_list_is_equal()

13 years agostructure: identical structures are definitely equal
Tim-Philipp Müller [Sat, 29 Oct 2011 22:52:22 +0000 (23:52 +0100)]
structure: identical structures are definitely equal

13 years agobasetransform: Also fush the cache when changing the upstream caps suggestion
Sjoerd Simons [Fri, 28 Oct 2011 09:53:32 +0000 (11:53 +0200)]
basetransform: Also fush the cache when changing the upstream caps suggestion

13 years agobasetransform: Add debug output when returning a cached transform
Sjoerd Simons [Fri, 28 Oct 2011 09:50:23 +0000 (11:50 +0200)]
basetransform: Add debug output when returning a cached transform

13 years agocollectpads2: Fix refcount handling if a buffer was dropped due to clipping
Sebastian Dröge [Fri, 28 Oct 2011 08:54:19 +0000 (10:54 +0200)]
collectpads2: Fix refcount handling if a buffer was dropped due to clipping

13 years agocollectpads2: Merge the clip and prepare_buffer function into one
Sebastian Dröge [Fri, 28 Oct 2011 08:37:21 +0000 (10:37 +0200)]
collectpads2: Merge the clip and prepare_buffer function into one

13 years agocollectpads2: Merge clipping API from old collectpads
Sebastian Dröge [Fri, 28 Oct 2011 08:17:06 +0000 (10:17 +0200)]
collectpads2: Merge clipping API from old collectpads

13 years agobasesink: make default query function name show up in gst-inspect
Tim-Philipp Müller [Fri, 28 Oct 2011 08:19:29 +0000 (09:19 +0100)]
basesink: make default query function name show up in gst-inspect

13 years agocollectpads2: avoid hanging in case of sparse newsegment events
Mark Nauwelaerts [Tue, 27 Sep 2011 13:48:52 +0000 (15:48 +0200)]
collectpads2: avoid hanging in case of sparse newsegment events

... in the extent that a non-waiting pad (so indicated by newsegment)
turns out to provide the best buffer, which is then forced to waiting
for book-keeping purposes, but that should only be temporary.

See bug #415754.

13 years agocollectpads2: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
Sebastian Dröge [Fri, 28 Oct 2011 07:38:35 +0000 (09:38 +0200)]
collectpads2: Use G_DEFINE_TYPE instead of GST_BOILERPLATE

13 years agocollectpads2: Add to the documentation
Sebastian Dröge [Fri, 28 Oct 2011 07:35:50 +0000 (09:35 +0200)]
collectpads2: Add to the documentation

13 years agowin32: Add new collectpads2 API
Sebastian Dröge [Fri, 28 Oct 2011 07:26:11 +0000 (09:26 +0200)]
win32: Add new collectpads2 API

13 years agobase: Add collectpads2
Sebastian Dröge [Fri, 28 Oct 2011 07:18:55 +0000 (09:18 +0200)]
base: Add collectpads2

This handles muxing of sparse/subtitle streams and has
lots of cleanup. Still missing is special support for
live streams but this can be added later without breaking
API/ABI.

Based on the version from the videomixer plugin.
https://bugzilla.gnome.org/show_bug.cgi?id=415754

13 years agobasetransform: Fix refcount leak
Jan Schmidt [Thu, 27 Oct 2011 12:08:14 +0000 (23:08 +1100)]
basetransform: Fix refcount leak

Don't leak peercaps and a ref to the basetransform when returning
the cached caps.

13 years agocontroller: fix wrong order of calls in the docs.
Stefan Sauer [Thu, 27 Oct 2011 08:38:10 +0000 (10:38 +0200)]
controller: fix wrong order of calls in the docs.

13 years agoevent: clarify docs for step event
Stefan Sauer [Wed, 26 Oct 2011 10:23:07 +0000 (12:23 +0200)]
event: clarify docs for step event

13 years agoregistry: add support for GST_REGISTRY_REUSE_PLUGIN_SCANNER=no
Tim-Philipp Müller [Tue, 18 Oct 2011 22:19:47 +0000 (23:19 +0100)]
registry: add support for GST_REGISTRY_REUSE_PLUGIN_SCANNER=no

This will make sure we spawn a new plugin scanner helper for each plugin
to be introspected, which helps with making sure we don't load too many
shared objects (libs, plugins) at the same time on systems where there
is a hard limit like on Android.

A better version might re-use the scanner for up to N times, though
it's not clear whether that would actually improve things dramatically.

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

13 years agocaps: No need to require writable caps for _append/_merge second caps
Thiago Santos [Fri, 21 Oct 2011 13:23:04 +0000 (10:23 -0300)]
caps: No need to require writable caps for _append/_merge second caps

The second caps ownership is transfered, no need to require it to
be writable from the caller function. Instead, _append and _merge
make it writable on their own.

Discovered because of an assertion on encoding-profile.c in
_get_input_caps using _merge but not passing writable caps.

13 years agobaseparse: Fix documentation, it's pre_push_frame and not pre_push_buffer
Sebastian Dröge [Thu, 20 Oct 2011 14:59:01 +0000 (16:59 +0200)]
baseparse: Fix documentation, it's pre_push_frame and not pre_push_buffer

13 years agobasetransform: cache transformed caps where appropriate
Vincent Penquerc'h [Thu, 20 Oct 2011 13:02:44 +0000 (14:02 +0100)]
basetransform: cache transformed caps where appropriate

Speeds up negotiation a fair bit on a contrived pipeline
with a dozen colorspace conversions.

Hopefully clears out the cache every time it ought to.

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

13 years agoFix broken android building due to name change in 01d87250a845e55d6
Reynaldo H. Verdejo Pinochet [Thu, 20 Oct 2011 13:45:30 +0000 (10:45 -0300)]
Fix broken android building due to name change in 01d87250a845e55d6

13 years agobasebarse: Add detect vfunc to allow subclasses to do format detection before anythin...
Sebastian Dröge [Thu, 20 Oct 2011 06:31:18 +0000 (08:31 +0200)]
basebarse: Add detect vfunc to allow subclasses to do format detection before anything else

API: GstBaseParseClass::detect()

This is called with the first buffers until the subclass has finished detection
and only afterwards the original buffers are handled as before. The vfunc allows
detection of the stream format without breaking the upstream framing.

13 years agopad: not only describe conditions in the docs, also check them in the code
Stefan Sauer [Thu, 20 Oct 2011 06:57:57 +0000 (08:57 +0200)]
pad: not only describe conditions in the docs, also check them in the code

When blocking pads, check if the pad is in the rigt direction. Log some info
for the developer and return FALSE, instead of just locking up.

13 years agomessage: protect against null message sources
Thiago Santos [Tue, 18 Oct 2011 22:21:58 +0000 (19:21 -0300)]
message: protect against null message sources

Message sources can be null, check if it is before trying to
access its name.

13 years agobaseparse: add since doc to new getcaps function
Thiago Santos [Tue, 18 Oct 2011 11:48:37 +0000 (08:48 -0300)]
baseparse: add since doc to new getcaps function

13 years agologging: more logging and prefer human readable details over memory locations
Stefan Sauer [Tue, 18 Oct 2011 12:08:19 +0000 (14:08 +0200)]
logging: more logging and prefer human readable details over memory locations

13 years agodebugutils: improve display of ghost- and proxypads
Stefan Sauer [Tue, 18 Oct 2011 12:05:37 +0000 (14:05 +0200)]
debugutils: improve display of ghost- and proxypads

Handle virtual links between ghost and proxypads when iterating pads instead of
when linking. Besides using less code this provides a more accurate picture.

13 years agobaseparse: add getcaps function
Thiago Santos [Mon, 17 Oct 2011 17:42:08 +0000 (14:42 -0300)]
baseparse: add getcaps function

Adds a getcaps function to the sink pad to make parsers propagate
downstream caps restrictions to upstream.

The pipeline "audiotestsrc num-buffers=100 ! faac ! aacparse !
"audio/mpeg, version=(int)4, stream-format=(string)adts" ! filesink"
wouldn't work because aacparse wouldn't propagate the adts restriction
upstream to faac.

This patch adds a default getcaps to the sink pad to simply proxy
downstream caps and also adds a 'get_sink_caps' function pointer
to GstBaseParseClass for subclasses that need more refined getcaps.

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

13 years agobasesrc: also update the stream time
Wim Taymans [Tue, 18 Oct 2011 10:39:03 +0000 (12:39 +0200)]
basesrc: also update the stream time

13 years agobaseparse: Fix handling of queued frames
Sebastian Dröge [Tue, 18 Oct 2011 08:58:14 +0000 (10:58 +0200)]
baseparse: Fix handling of queued frames

gst_base_parse_push_frame() already frees the frame, no need to
do it another time again.

13 years agobus: give watch source a name
Tim-Philipp Müller [Sun, 16 Oct 2011 20:12:07 +0000 (21:12 +0100)]
bus: give watch source a name

Give our GSource a meaningful name. Source names can be
used for debugging and profiling, for example with
systemtap or gdb.

13 years agogstbuffer: Add transfer annotations for gst_buffer_join()
Edward Hervey [Fri, 14 Oct 2011 07:35:09 +0000 (09:35 +0200)]
gstbuffer: Add transfer annotations for gst_buffer_join()

13 years agobus: fix typo in the docs
Stefan Sauer [Thu, 13 Oct 2011 15:33:06 +0000 (17:33 +0200)]
bus: fix typo in the docs

13 years agodebugutils: show if an element is state-locked
Stefan Sauer [Thu, 13 Oct 2011 14:48:02 +0000 (16:48 +0200)]
debugutils: show if an element is state-locked

13 years agologging: use _OBJECT variants more
Stefan Sauer [Thu, 13 Oct 2011 14:42:10 +0000 (16:42 +0200)]
logging: use _OBJECT variants more

13 years agobuffer: Use an inline function instead of a macro for gst_buffer_replace()
Sebastian Dröge [Thu, 13 Oct 2011 08:19:34 +0000 (10:19 +0200)]
buffer: Use an inline function instead of a macro for gst_buffer_replace()

This gives us type checks by the compiler and more useful compiler errors.

13 years agoevent: Use an inline function instead of a macro for gst_event_replace()
Sebastian Dröge [Thu, 13 Oct 2011 08:18:51 +0000 (10:18 +0200)]
event: Use an inline function instead of a macro for gst_event_replace()

This gives us type checks by the compiler and more useful compiler errors.

13 years agobasesrc: properly adjust start time
Wim Taymans [Wed, 12 Oct 2011 15:17:09 +0000 (17:17 +0200)]
basesrc: properly adjust start time

When we do a non-flushing seek and closed the current segment,
make sure that we open the next segment from where we closed.

13 years agoutils: catch invalid instance sizes in gst_type_register_static_full()
Tim-Philipp Müller [Mon, 10 Oct 2011 18:41:33 +0000 (19:41 +0100)]
utils: catch invalid instance sizes in gst_type_register_static_full()

Add guards to catch overly large instance sizes.

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

13 years agogstparse: prefix generated parser functions so they don't get exported
Tim-Philipp Müller [Sat, 8 Oct 2011 13:17:25 +0000 (14:17 +0100)]
gstparse: prefix generated parser functions so they don't get exported

Don't export those 35-something random _gst_parse_yy* symbols. These were
never in any header files and also blacklisted from our .def files, in
case anyone wonders.

13 years agopipeline: Use pipeline category for one more log message
Thiago Santos [Fri, 7 Oct 2011 12:45:20 +0000 (09:45 -0300)]
pipeline: Use pipeline category for one more log message

Makes debugging easier.

13 years agoGST_PTR_FORMAT: Add GstBuffer ptr format and use in GST_SCHEDULING
Robert Swain [Fri, 7 Oct 2011 14:36:10 +0000 (16:36 +0200)]
GST_PTR_FORMAT: Add GstBuffer ptr format and use in GST_SCHEDULING

GstBuffer pointers can now be printed using GST_PTR_FORMAT. This is used
in the very useful GST_SCHEDULING debug logs in gstpad.c and allows for
easier and more information tracking of buffer progress through a
pipeline with just debug logging.

13 years agobaseparse: send duration message when updating internal duration
Mark Nauwelaerts [Thu, 6 Oct 2011 12:34:09 +0000 (14:34 +0200)]
baseparse: send duration message when updating internal duration

13 years agobaseparse: Return success if optional start/stop method is not provided
Stas Sergeev [Mon, 26 Sep 2011 10:36:46 +0000 (14:36 +0400)]
baseparse: Return success if optional start/stop method is not provided

This allows to not implement the optional start/stop methods.

13 years agogstquery: Make debugging message more informative
Edward Hervey [Mon, 3 Oct 2011 07:29:10 +0000 (09:29 +0200)]
gstquery: Make debugging message more informative

For all the newcomers out there who still don't know the values of
GstQueryType enum by heart...
... and old-timers who've got better things to do :)

13 years agobaseparse: make estimating the position in query handler actually work
Tim-Philipp Müller [Fri, 30 Sep 2011 14:25:20 +0000 (15:25 +0100)]
baseparse: make estimating the position in query handler actually work

No point estimating if we don't set the result afterwards.

13 years agobaseparse: answer position query in stream time and try upstream first
Vincent Penquerc'h [Mon, 26 Sep 2011 12:14:42 +0000 (13:14 +0100)]
baseparse: answer position query in stream time and try upstream first

Let the demuxer have first say as well.

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

13 years agogst.h: include header for atomic queue
Tim-Philipp Müller [Fri, 30 Sep 2011 13:52:01 +0000 (14:52 +0100)]
gst.h: include header for atomic queue

13 years agotests: add minimal test for GstAtomicQueue
Tim-Philipp Müller [Fri, 30 Sep 2011 13:50:51 +0000 (14:50 +0100)]
tests: add minimal test for GstAtomicQueue

Just new + free.

13 years agobasetransform: send delayed events earlier
Vincent Penquerc'h [Mon, 26 Sep 2011 18:52:13 +0000 (19:52 +0100)]
basetransform: send delayed events earlier

Some elements (such as videorate) might push buffers early,
for instance in in transform_ip. We want events (and in particular
any NEWSEGMENT event) to be pushed before that.

This fixes transmageddon wedging on converting a file starting
with a non zero offset to Ogg.

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

13 years agogst: Fix compiler warnings on 64 bit mingw-w64
Raimo Järvi [Sun, 25 Sep 2011 21:30:47 +0000 (00:30 +0300)]
gst: Fix compiler warnings on 64 bit mingw-w64

Fixes bug #660083.

13 years agoexamples: fix bogus g_object_unref in helloworld example
Tim-Philipp Müller [Sun, 25 Sep 2011 15:10:53 +0000 (16:10 +0100)]
examples: fix bogus g_object_unref in helloworld example

GMainLoop is not a GObject.

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

13 years agobasetransform: delay serialized events when src caps are not set yet
Vincent Penquerc'h [Tue, 20 Sep 2011 12:04:06 +0000 (13:04 +0100)]
basetransform: delay serialized events when src caps are not set yet

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

13 years agopad: Set caps on pad before checking if the pad is linked
Stas Sergeev [Tue, 13 Sep 2011 13:04:31 +0000 (17:04 +0400)]
pad: Set caps on pad before checking if the pad is linked

This allows the setcaps handler and notify::caps to link
the pad downstream and doesn't require hacks to always
provide a peer to the pad, like in decodebin2.

13 years agocaps: use g_value_take_string() and gst_value_get_caps() instead of accessing interna...
Fabrizio (Misto) Milo [Thu, 15 Sep 2011 18:49:43 +0000 (11:49 -0700)]
caps: use g_value_take_string() and gst_value_get_caps() instead of accessing internal fields

13 years agopad: add more debug logging for other chain function code path as well
Tim-Philipp Müller [Fri, 16 Sep 2011 12:38:41 +0000 (13:38 +0100)]
pad: add more debug logging for other chain function code path as well

13 years agopad: fix up printf format in debug message
Tim-Philipp Müller [Fri, 16 Sep 2011 12:13:30 +0000 (13:13 +0100)]
pad: fix up printf format in debug message

Which I messed up.

13 years agopad: make some debug traces more useful
Vincent Penquerc'h [Thu, 15 Sep 2011 12:20:15 +0000 (13:20 +0100)]
pad: make some debug traces more useful

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

13 years agoscripts: remove gstcvstest.sh
Tim-Philipp Müller [Wed, 14 Sep 2011 21:54:18 +0000 (22:54 +0100)]
scripts: remove gstcvstest.sh

13 years agolfocontrolsource: fix clang compiler warning
Tim-Philipp Müller [Tue, 13 Sep 2011 22:04:09 +0000 (23:04 +0100)]
lfocontrolsource: fix clang compiler warning

Cast enum to int before checking for negative values, which are
impossible according to the enum list.

gstlfocontrolsource.c:652:45: error: comparison of unsigned enum expression < 0
      is always false [-Werror,-Wtautological-compare]
  if (waveform >= num_waveforms || waveform < 0) {
                                   ~~~~~~~~ ^ ~

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

13 years agotests: make sure filesrc returns escaped URIs even if the input was unescaped
Tim-Philipp Müller [Tue, 13 Sep 2011 20:58:21 +0000 (21:58 +0100)]
tests: make sure filesrc returns escaped URIs even if the input was unescaped

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

13 years agocaps: move log messages for caps creation/freeing into TRACE category
Tim-Philipp Müller [Sat, 10 Sep 2011 17:15:49 +0000 (18:15 +0100)]
caps: move log messages for caps creation/freeing into TRACE category

Reduce SPAM for GST_CAPS:5.

13 years agopad: Only do the subset check in gst_pad_accept_caps() if the pad claims to accept...
Sebastian Dröge [Fri, 9 Sep 2011 10:56:20 +0000 (12:56 +0200)]
pad: Only do the subset check in gst_pad_accept_caps() if the pad claims to accept the caps

13 years agobasesink: make it easy to override the pad query
Nicolas Dufresne [Wed, 7 Sep 2011 21:21:55 +0000 (17:21 -0400)]
basesink: make it easy to override the pad query

Add a vmethod to handle the pad query.
Install a default handler for the pad query.
Use the new query function in filesink

13 years agoRevert "pad: Use gst_pad_accept_caps() instead of manually checking when configuring...
Sebastian Dröge [Thu, 8 Sep 2011 12:29:00 +0000 (14:29 +0200)]
Revert "pad: Use gst_pad_accept_caps() instead of manually checking when configuring a sinkpad"

This reverts commit d3cad28da936b037d877dc70c02286b81b680284.

It causes performance problems because acceptcaps() propagates downstream.

13 years agopad: Use gst_pad_accept_caps() instead of manually checking when configuring a sinkpad
Sebastian Dröge [Thu, 8 Sep 2011 11:41:19 +0000 (13:41 +0200)]
pad: Use gst_pad_accept_caps() instead of manually checking when configuring a sinkpad

13 years agopad: Print a g_warning() if pad accept caps that are not a subset of its caps
Sebastian Dröge [Thu, 8 Sep 2011 11:40:06 +0000 (13:40 +0200)]
pad: Print a g_warning() if pad accept caps that are not a subset of its caps

In 0.11 only subsets are supported again as documented instead of also
allowing non-empty intersections.