Tim-Philipp Müller [Mon, 31 Oct 2011 14:03:15 +0000 (14:03 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
gst/gstpluginfeature.c
Tim-Philipp Müller [Sun, 30 Oct 2011 10:26:11 +0000 (10:26 +0000)]
taglist: rename _new() to _new_empty() and new_full*() to new*()
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 10:05:23 +0000 (10:05 +0000)]
taglist: make opaque
Hide the fact that it's just a GstStructure from the API. We
may want to change this in future (e.g. to add refcounting).
Also, it caused problems for bindings (though that's mostly
the way we typedefed it to GstStructure).
Tim-Philipp Müller [Sun, 30 Oct 2011 10:00:28 +0000 (10:00 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11
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 09:31:39 +0000 (09:31 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11
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
Tim-Philipp Müller [Sat, 29 Oct 2011 19:06:54 +0000 (20:06 +0100)]
taglist: fix string for GST_TAG_ARTIST_SORTNAME
For historical reasons it was mapped to a musicbrainz prefix,
but it's not really musicbrainz-specific at all.
Tim-Philipp Müller [Sat, 29 Oct 2011 18:59:05 +0000 (19:59 +0100)]
elementfactory: move private functions for registry to private header
René Stadler [Fri, 28 Oct 2011 19:40:47 +0000 (21:40 +0200)]
basetransform: fix invalid access to unreffed allocation query
Wim Taymans [Fri, 28 Oct 2011 14:45:23 +0000 (16:45 +0200)]
buffer: fix docs some more
Wim Taymans [Fri, 28 Oct 2011 14:27:43 +0000 (16:27 +0200)]
Merge branch 'master' into 0.11
Conflicts:
libs/gst/base/gstbasetransform.c
Wim Taymans [Fri, 28 Oct 2011 14:08:37 +0000 (16:08 +0200)]
tests: fix segment check
Wim Taymans [Fri, 28 Oct 2011 13:52:58 +0000 (15:52 +0200)]
segment: remove GST_SEEK_TYPE_CUR
Wim Taymans [Fri, 28 Oct 2011 13:52:41 +0000 (15:52 +0200)]
buffer: improve docs
Sebastian Dröge [Fri, 28 Oct 2011 11:02:26 +0000 (13:02 +0200)]
bytewriter: Add padding
Sebastian Dröge [Fri, 28 Oct 2011 11:02:19 +0000 (13:02 +0200)]
bitreader: Add padding
Sebastian Dröge [Fri, 28 Oct 2011 11:02:10 +0000 (13:02 +0200)]
bytereader: Add padding
Wim Taymans [Fri, 28 Oct 2011 10:31:03 +0000 (12:31 +0200)]
porting: update
Wim Taymans [Fri, 28 Oct 2011 10:28:46 +0000 (12:28 +0200)]
docs: update
Wim Taymans [Fri, 28 Oct 2011 10:27:43 +0000 (12:27 +0200)]
defs: update for new api
Wim Taymans [Fri, 28 Oct 2011 10:17:58 +0000 (12:17 +0200)]
check: also debug the DTS
Wim Taymans [Fri, 28 Oct 2011 10:16:21 +0000 (12:16 +0200)]
adapter: use pts/dts on buffers
Wim Taymans [Fri, 28 Oct 2011 10:24:02 +0000 (12:24 +0200)]
compat: add timestamp compat defines
Wim Taymans [Fri, 28 Oct 2011 10:15:44 +0000 (12:15 +0200)]
buffer: add pts/dts to buffers
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
Wim Taymans [Fri, 28 Oct 2011 09:33:44 +0000 (11:33 +0200)]
Merge branch 'master' into 0.11
Wim Taymans [Fri, 28 Oct 2011 09:30:57 +0000 (11:30 +0200)]
coolectpads2: port to 0.11
Wim Taymans [Fri, 28 Oct 2011 09:13:55 +0000 (11:13 +0200)]
Merge branch 'master' into 0.11
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
Wim Taymans [Thu, 27 Oct 2011 15:09:51 +0000 (17:09 +0200)]
tests: fix compilation
Wim Taymans [Thu, 27 Oct 2011 15:09:34 +0000 (17:09 +0200)]
defs: update
Wim Taymans [Thu, 27 Oct 2011 15:09:04 +0000 (17:09 +0200)]
caps: add empty_simple variants
Wim Taymans [Thu, 27 Oct 2011 14:51:16 +0000 (16:51 +0200)]
tests: fix compilation
Johan Boulé [Thu, 27 Oct 2011 13:56:24 +0000 (14:56 +0100)]
caps: use G_GNUC_NULL_TERMINATED for gst_caps_new_simple() and gst_caps_new_full()
If you get warnings, use gst_caps_new_empty().
https://bugzilla.gnome.org/show_bug.cgi?id=343346
Wim Taymans [Thu, 27 Oct 2011 13:27:19 +0000 (15:27 +0200)]
Merge branch 'master' into 0.11
Conflicts:
libs/gst/base/gstbasetransform.c
Tim-Philipp Müller [Thu, 27 Oct 2011 12:25:08 +0000 (13:25 +0100)]
structure: use G_GNUC_NULL_TERMINATED for gst_structure_new()
If you get a warning, use gst_structure_empty_new().
https://bugzilla.gnome.org/show_bug.cgi?id=343346
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.
Stefan Sauer [Fri, 21 Oct 2011 12:20:40 +0000 (14:20 +0200)]
interfaces: clean up the use of iface and class/klass
Stefan Sauer [Fri, 21 Oct 2011 09:15:11 +0000 (11:15 +0200)]
docs: spelling and formatting fixes
Edward Hervey [Fri, 21 Oct 2011 08:52:46 +0000 (10:52 +0200)]
Merging origin/master
Conflicts:
gst/gstbin.c
gst/gstbus.c
gst/gstdebugutils.c
gst/gstpad.c
libs/gst/base/gstbaseparse.c
libs/gst/base/gstbasesrc.c
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.
René Stadler [Wed, 19 Oct 2011 21:07:46 +0000 (23:07 +0200)]
Revert gst_plugin_feature_get_name to const string return
Returning a newly allocated string makes no sense. It's unexpected for a
getter, and also this behaves differently in 0.10, so it would make future
merges harder.
Except for these two places here in core which were updated for the new
semantic, the return value is getting leaked all over the place.
Edward Hervey [Wed, 19 Oct 2011 10:12:36 +0000 (12:12 +0200)]
gstobject: Add (skip) annotation to gst_object_ref_sink
Edward Hervey [Wed, 19 Oct 2011 09:59:29 +0000 (11:59 +0200)]
gstiterator: Add skip annotation for creating GstIterator
Not really useful for bindings
Johan Dahlin [Mon, 29 Aug 2011 16:56:19 +0000 (13:56 -0300)]
introspection: Skip gst_poll apis
https://bugzilla.gnome.org/show_bug.cgi?id=657640
Johan Dahlin [Mon, 29 Aug 2011 16:55:13 +0000 (13:55 -0300)]
introspection: Skip GType and GValue transform apis
These do not make sense to expose to language bindings
https://bugzilla.gnome.org/show_bug.cgi?id=657640
Johan Dahlin [Mon, 29 Aug 2011 16:54:21 +0000 (13:54 -0300)]
introspection: Skip gst_init_get_option_group
It uses GOptionGroup which is not wrappable
https://bugzilla.gnome.org/show_bug.cgi?id=657640
Johan Dahlin [Mon, 29 Aug 2011 16:53:39 +0000 (13:53 -0300)]
introspection: Add missing annotations
https://bugzilla.gnome.org/show_bug.cgi?id=657640
Johan Dahlin [Mon, 29 Aug 2011 16:52:26 +0000 (13:52 -0300)]
introspection: Rename gst_bus_add_watch_full to gst_bus_add_watch
https://bugzilla.gnome.org/show_bug.cgi?id=657640
Johan Dahlin [Mon, 29 Aug 2011 16:50:40 +0000 (13:50 -0300)]
Sync documentation arguments
The introspection scanner warns if the header and the source
uses mismatching parameter names.
https://bugzilla.gnome.org/show_bug.cgi?id=657640
Johan Dahlin [Mon, 29 Aug 2011 16:50:02 +0000 (13:50 -0300)]
Add gst_structure_get_type
https://bugzilla.gnome.org/show_bug.cgi?id=657640
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.
Edward Hervey [Tue, 18 Oct 2011 11:54:52 +0000 (13:54 +0200)]
controller: Add g-i annotations and remove "Since:" markers
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.
René Stadler [Mon, 17 Oct 2011 19:38:56 +0000 (21:38 +0200)]
tests: fix padtemplate leak in selector test
In 0.11, gst_pad_get_pad_template returns a reference.
René Stadler [Mon, 17 Oct 2011 19:37:17 +0000 (21:37 +0200)]
pad: fix buffer/event leak when pad is flushing
Apparently this got lost while refactoring probes.
Wim Taymans [Mon, 17 Oct 2011 15:00:04 +0000 (17:00 +0200)]
baseparse: remove the memory from the tmpbuf
We use a tmpbuf to hold a temporary pointer to the adapter memory. We need to
remove that memory when we no longer need it.
René Stadler [Mon, 17 Oct 2011 11:55:35 +0000 (13:55 +0200)]
caps: fix race condition and memory leak in gst_static_caps_get
This was leaking the PtrArray from caps->priv, as set up by the other call to
gst_caps_init. Also, the thread safety issue presented in the comment above was
not taken care of anymore. We now zero the refcount again when publishing the
structure.
Fixes #661629.
Edward Hervey [Mon, 17 Oct 2011 07:28:43 +0000 (09:28 +0200)]
gstcheck: Make ASSERT_MINI_OBJECT_REFCOUNT more useful
knowing which miniobject failed helps us locate it in debug logs
Edward Hervey [Mon, 17 Oct 2011 07:28:24 +0000 (09:28 +0200)]
gstcheck: Make _check_buffer_data a bit more verbose
Edward Hervey [Mon, 17 Oct 2011 07:27:49 +0000 (09:27 +0200)]
check: Don't leak the feature name
Edward Hervey [Mon, 17 Oct 2011 07:27:26 +0000 (09:27 +0200)]
gstregistry: Don't leak feature 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.
Edward Hervey [Fri, 14 Oct 2011 07:35:09 +0000 (09:35 +0200)]
gstbuffer: Add transfer annotations for gst_buffer_join()
Wim Taymans [Sun, 16 Oct 2011 15:42:22 +0000 (17:42 +0200)]
porting: update
Wim Taymans [Sun, 16 Oct 2011 15:03:27 +0000 (17:03 +0200)]
porting: update
Wim Taymans [Sun, 16 Oct 2011 15:00:09 +0000 (17:00 +0200)]
porting: update porting list
Wim Taymans [Sun, 16 Oct 2011 12:45:03 +0000 (14:45 +0200)]
fix more parent_class
Wim Taymans [Sun, 16 Oct 2011 12:20:33 +0000 (14:20 +0200)]
Merge branch 'master' into 0.11
Conflicts:
gst/gstevent.h
Wim Taymans [Sun, 16 Oct 2011 12:17:25 +0000 (14:17 +0200)]
padtemplate: clean up parent_class
Wim Taymans [Fri, 14 Oct 2011 10:57:38 +0000 (12:57 +0200)]
pad: clean up parent_class handling
Edward Hervey [Fri, 14 Oct 2011 07:35:09 +0000 (09:35 +0200)]
gstbuffer: Add transfer annotations for gst_buffer_join()