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
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.
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
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()
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.
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()
Tim-Philipp Müller [Sat, 29 Oct 2011 22:52:22 +0000 (23:52 +0100)]
structure: identical structures are definitely equal
Sjoerd Simons [Fri, 28 Oct 2011 09:53:32 +0000 (11:53 +0200)]
basetransform: Also fush the cache when changing the upstream caps suggestion
Sjoerd Simons [Fri, 28 Oct 2011 09:50:23 +0000 (11:50 +0200)]
basetransform: Add debug output when returning a cached transform
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
Sebastian Dröge [Fri, 28 Oct 2011 08:37:21 +0000 (10:37 +0200)]
collectpads2: Merge the clip and prepare_buffer function into one
Sebastian Dröge [Fri, 28 Oct 2011 08:17:06 +0000 (10:17 +0200)]
collectpads2: Merge clipping API from old collectpads
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
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.
Sebastian Dröge [Fri, 28 Oct 2011 07:38:35 +0000 (09:38 +0200)]
collectpads2: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
Sebastian Dröge [Fri, 28 Oct 2011 07:35:50 +0000 (09:35 +0200)]
collectpads2: Add to the documentation
Sebastian Dröge [Fri, 28 Oct 2011 07:26:11 +0000 (09:26 +0200)]
win32: Add new collectpads2 API
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
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.
Stefan Sauer [Thu, 27 Oct 2011 08:38:10 +0000 (10:38 +0200)]
controller: fix wrong order of calls in the docs.
Stefan Sauer [Wed, 26 Oct 2011 10:23:07 +0000 (12:23 +0200)]
event: clarify docs for step event
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
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.
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
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
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
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.
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.
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.
Thiago Santos [Tue, 18 Oct 2011 11:48:37 +0000 (08:48 -0300)]
baseparse: add since doc to new getcaps function
Stefan Sauer [Tue, 18 Oct 2011 12:08:19 +0000 (14:08 +0200)]
logging: more logging and prefer human readable details over memory locations
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.
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
Wim Taymans [Tue, 18 Oct 2011 10:39:03 +0000 (12:39 +0200)]
basesrc: also update the stream time
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.
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.
Edward Hervey [Fri, 14 Oct 2011 07:35:09 +0000 (09:35 +0200)]
gstbuffer: Add transfer annotations for gst_buffer_join()
Stefan Sauer [Thu, 13 Oct 2011 15:33:06 +0000 (17:33 +0200)]
bus: fix typo in the docs
Stefan Sauer [Thu, 13 Oct 2011 14:48:02 +0000 (16:48 +0200)]
debugutils: show if an element is state-locked
Stefan Sauer [Thu, 13 Oct 2011 14:42:10 +0000 (16:42 +0200)]
logging: use _OBJECT variants more
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.
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.
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.
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
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.
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.
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.
Mark Nauwelaerts [Thu, 6 Oct 2011 12:34:09 +0000 (14:34 +0200)]
baseparse: send duration message when updating internal duration
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.
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 :)
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.
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
Tim-Philipp Müller [Fri, 30 Sep 2011 13:52:01 +0000 (14:52 +0100)]
gst.h: include header for atomic queue
Tim-Philipp Müller [Fri, 30 Sep 2011 13:50:51 +0000 (14:50 +0100)]
tests: add minimal test for GstAtomicQueue
Just new + free.
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
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.
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
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
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.
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
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
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.
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
Tim-Philipp Müller [Wed, 14 Sep 2011 21:54:18 +0000 (22:54 +0100)]
scripts: remove gstcvstest.sh
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
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
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.
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
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
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.
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
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.
Sebastian Dröge [Thu, 8 Sep 2011 11:26:24 +0000 (13:26 +0200)]
Revert "basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible"
This reverts commit
5e5cc5e89e7e2858a6352fa4c81a374f6e5a6297.
See bug #658541.
Sebastian Dröge [Thu, 8 Sep 2011 11:26:01 +0000 (13:26 +0200)]
Revert "pad: Check for subsets, not non-empty intersections to check if caps are compatible"
This reverts commit
0c5d50207326d74a4805bcd898bfac887540f12b.
See bug #658541.
Piotr Fusik [Wed, 7 Sep 2011 11:14:38 +0000 (13:14 +0200)]
docs, gst: typo fixes
https://bugzilla.gnome.org/show_bug.cgi?id=658449
Tim-Philipp Müller [Wed, 7 Sep 2011 14:07:20 +0000 (15:07 +0100)]
docs: fix make distcheck
No point removin those empty override files from git, they'll
just be re-created later, so let's tell gtk-doc about them, so
it can clean them up properly.
Sebastian Dröge [Wed, 7 Sep 2011 14:02:31 +0000 (16:02 +0200)]
basetransform: If there's no peer we still have to transform ANY caps in getcaps()
Otherwise elements like capsfilter will return ANY caps if no
peer is present instead of the filter caps. The transform_caps()
vfunc could do transformations to the template caps that do not
result in the unmodified template caps.
Stefan Sauer [Wed, 7 Sep 2011 12:05:03 +0000 (14:05 +0200)]
docs: cleanup makefiles
Remove commented out parts that we don't need. Remove "the wingo addition" - no
so useful after all. Narrow down file-globs for plugin docs.
Stefan Sauer [Wed, 7 Sep 2011 11:50:08 +0000 (13:50 +0200)]
docs: escape % in docblob
Stas Sergeev [Fri, 2 Sep 2011 15:46:06 +0000 (19:46 +0400)]
ghostpad: Use gst_pad_set_caps() instead of manually changing caps
gst_pad_set_caps() does essentially the same but additionally calls
the pad's setcaps function.
Fixes bug #658076.
Stefan Sauer [Tue, 6 Sep 2011 19:24:10 +0000 (21:24 +0200)]
Automatic update of common submodule
From a39eb83 to 11f0cd5
Stefan Sauer [Tue, 6 Sep 2011 13:39:52 +0000 (15:39 +0200)]
Automatic update of common submodule
From 605cd9a to a39eb83
Sebastian Dröge [Tue, 6 Sep 2011 10:17:05 +0000 (12:17 +0200)]
basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible
Sebastian Dröge [Tue, 6 Sep 2011 10:19:58 +0000 (12:19 +0200)]
pad: Check for subsets, not non-empty intersections to check if caps are compatible
Pads should only accept caps that are a subset of the pad caps, e.g.
they should accept only caps that have a non-empty intersection and
at least all fields of the pad caps.
Without this a pad that wants for example
"video/x-h264,stream-format=byte-stream"
will be happy to accept
"video/x-h264".
Josep Torra [Fri, 26 Aug 2011 12:09:47 +0000 (14:09 +0200)]
docs: add since 0.10.36 on the new _NONE enum values
Josep Torra [Thu, 25 Aug 2011 22:13:16 +0000 (00:13 +0200)]
stepping: use the proper argument order
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 22:06:12 +0000 (00:06 +0200)]
fileindex: explicitly cast to the enum types
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 22:00:25 +0000 (00:00 +0200)]
typefinder: use GST_TYPE_FIND_NONE instead of 0
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 21:53:58 +0000 (23:53 +0200)]
lfocontrolsource: explicitly cast to the enum type
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 21:49:38 +0000 (23:49 +0200)]
typefind: add GST_TYPE_FIND_NONE and use it
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 21:26:08 +0000 (23:26 +0200)]
baseparse: use the enum values for 0 and don't abuse on gboolean coincidence
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 21:06:56 +0000 (23:06 +0200)]
baseparse: put the arguments of g_return_val_if_fail in the proper order
Josep Torra [Thu, 25 Aug 2011 20:48:54 +0000 (22:48 +0200)]
parse: use GST_PARSE_FLAG_NONE instead of 0
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 20:42:08 +0000 (22:42 +0200)]
value: explicitly cast to the enum type
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 20:29:45 +0000 (22:29 +0200)]
utils: minor changes related to enum types
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 20:05:26 +0000 (22:05 +0200)]
trace: add GST_ALLOC_TRACE_NONE for consistency and use it
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 19:52:05 +0000 (21:52 +0200)]
task: explicitly cast to the enum type
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 19:49:29 +0000 (21:49 +0200)]
tagsetter: use GST_TAG_MERGE_UNDEFINED instead of FALSE
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 19:30:57 +0000 (21:30 +0200)]
segment: use GST_SEEK_FLAG_NONE instead of 0
Fixes warning #188: enumerated type mixed with another type reported by ICC.
Josep Torra [Thu, 25 Aug 2011 19:25:46 +0000 (21:25 +0200)]
registrychunks: explicitly cast to the enum types
Fixes warning #188: enumerated type mixed with another type reported by ICC.