Wim Taymans [Tue, 8 Nov 2011 11:47:33 +0000 (12:47 +0100)]
pad: add pull mode probes
Allow probes to inspect the offset and size from a probe in pull mode and allow
the probe to modify the buffer.
Update design doc a little.
Wim Taymans [Tue, 8 Nov 2011 10:04:19 +0000 (11:04 +0100)]
pad: Add GstPadProbeInfo
Make a new GstPadProbeInfo structure and pass this in the probe callback. This
allows us to add more things later and also allow the callback to replace or
modify the passed object.
Stefan Sauer [Tue, 8 Nov 2011 07:26:29 +0000 (08:26 +0100)]
event: log creation of qos events at LOG level instead at INFO
Stefan Sauer [Mon, 7 Nov 2011 15:57:37 +0000 (16:57 +0100)]
buffer: improve parameter docs
Wim Taymans [Mon, 7 Nov 2011 16:17:39 +0000 (17:17 +0100)]
Merge branch 'master' into 0.11
Conflicts:
gst/gstvalue.c
Wim Taymans [Mon, 7 Nov 2011 16:04:13 +0000 (17:04 +0100)]
pad: rework pad probes
Make a separate cookie to detect chancges in the list of probes and keeping
track of what hooks have been invoked yet.
Remove the requirement to have probes on srcpads in push mode and sinkpads in
pull mode.
Add some more debug.
Keep track of what callbacks got executed. If no callback is called and we are a
blocking pad, let the item pass. This allows you to block pads on selected
items only.
Explicitly have an UPSTREAM and DOWNSTREAM PadProbeType. This allows you to only
block the pad on upstream or downstream items.
Add convenience macros to only block on downstream/upstream items.
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
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
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
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
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
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
Stefan Sauer [Mon, 7 Nov 2011 11:28:22 +0000 (12:28 +0100)]
docs: mention more api changes in the porting guide
Wim Taymans [Mon, 7 Nov 2011 09:40:23 +0000 (10:40 +0100)]
caps: fix compilation
Wim Taymans [Mon, 7 Nov 2011 09:01:27 +0000 (10:01 +0100)]
Merge branch 'master' into 0.11
Conflicts:
libs/gst/base/gstbasetransform.c
Tim-Philipp Müller [Sun, 6 Nov 2011 00:07:10 +0000 (00:07 +0000)]
Revert "controller: fix g_return statement"
This reverts commit
593d2b297bd7b5ce9dbcdf2f1ae2b7624d94d6ae.
gst_controller_set_disabled () returns a void.
Tim-Philipp Müller [Sat, 5 Nov 2011 12:10:29 +0000 (12:10 +0000)]
docs: remove refs to removed API
Stefan Sauer [Fri, 4 Nov 2011 20:37:45 +0000 (21:37 +0100)]
controller: the object needs a ref to the controller for the convenience api
Add a hack to ensure the object will have a ref to the controller once we
create it. Fixes the audio example (that uses the controller api directly).
Stefan Sauer [Fri, 4 Nov 2011 20:37:21 +0000 (21:37 +0100)]
controller: fix g_return statement
Stefan Sauer [Fri, 4 Nov 2011 20:35:55 +0000 (21:35 +0100)]
controller: logging tweaks
Don't log in _new before we have the log category. Use _OBJECT variants.
Tim-Philipp Müller [Sat, 5 Nov 2011 01:27:54 +0000 (01:27 +0000)]
gst: fix some compiler warnings
gstobject.c: In function 'gst_object_has_active_automation':
gstobject.c:1076:3: error: 'return' with no value, in function returning non-void
gstcontroller.c: In function 'gst_controller_is_active':
gstcontroller.c:509:3: error: 'return' with no value, in function returning non-void
Stefan Sauer [Fri, 4 Nov 2011 19:50:58 +0000 (20:50 +0100)]
controller: add api to check for active controllers (needed for e.g. volume)
Stefan Sauer [Fri, 4 Nov 2011 19:32:32 +0000 (20:32 +0100)]
controller: remove obsolete comments from api transition
Stefan Sauer [Fri, 4 Nov 2011 13:00:24 +0000 (14:00 +0100)]
controller: fix tests after move and API changes
Stefan Sauer [Fri, 4 Nov 2011 10:42:34 +0000 (11:42 +0100)]
controller: port to new controller api
Stefan Sauer [Fri, 4 Nov 2011 10:39:25 +0000 (11:39 +0100)]
controller: update docs for controller move
Stefan Sauer [Fri, 4 Nov 2011 10:34:11 +0000 (11:34 +0100)]
controller: move to core/gstobject
Move the controller to gstobject as a simple delegate. The controller and
controlsource are not classes in core. The controlsources stay separate as a lib
for now. This way we can avoid the qdata lookups.
Also remove controller_init(). There is no more need to link to controller for
elements.
Also sanitize the API. We now have functions to add properties like we had
methods to remove that. That avoids then ref count hacks we had in _new.
Stefan Sauer [Thu, 3 Nov 2011 17:23:13 +0000 (18:23 +0100)]
docs: small clarification
Stefan Sauer [Thu, 3 Nov 2011 17:22:16 +0000 (18:22 +0100)]
docs: missing rename iface->interface in the docs
Wim Taymans [Fri, 4 Nov 2011 18:17:06 +0000 (19:17 +0100)]
bin: fix the iterator copy
Wim Taymans [Fri, 4 Nov 2011 18:11:19 +0000 (19:11 +0100)]
Merge branch 'master' into 0.11
Conflicts:
gst/gstbin.c
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
Sjoerd Simons [Thu, 3 Nov 2011 15:35:32 +0000 (15:35 +0000)]
caps: Add gst_caps_is_strictly_equal
Wim Taymans [Fri, 4 Nov 2011 17:47:10 +0000 (18:47 +0100)]
tests: fix tests
Since blocks are not on both directions, we need to check in the block callback
if we are not blocking on an upstream event and let it pass.
Wim Taymans [Fri, 4 Nov 2011 17:19:14 +0000 (18:19 +0100)]
pad: make probes work on all pads
fixes #644907
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.
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
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
Tim-Philipp Müller [Thu, 3 Nov 2011 23:08:52 +0000 (23:08 +0000)]
queue: 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.
Tim-Philipp Müller [Thu, 3 Nov 2011 22:51:57 +0000 (22:51 +0000)]
collectpads2: use flags enum instead of guint in structure
Tim-Philipp Müller [Thu, 3 Nov 2011 08:47:20 +0000 (08:47 +0000)]
queue2: use statically allocated GQueue
Wim Taymans [Thu, 3 Nov 2011 16:49:45 +0000 (17:49 +0100)]
fix request pad
Make all request pads take _%u in the template.
Fix up unit tests.
Wim Taymans [Thu, 3 Nov 2011 15:49:48 +0000 (16:49 +0100)]
def: update defs
Wim Taymans [Thu, 3 Nov 2011 15:46:35 +0000 (16:46 +0100)]
net: add net address metadata
Wim Taymans [Thu, 3 Nov 2011 13:26:12 +0000 (14:26 +0100)]
nettime: clean up header
Wim Taymans [Thu, 3 Nov 2011 13:14:54 +0000 (14:14 +0100)]
task: don't use lock/unlock_full
Wim Taymans [Thu, 3 Nov 2011 10:30:52 +0000 (11:30 +0100)]
Merge branch 'master' into 0.11
Conflicts:
gst/gstghostpad.c
Wim Taymans [Wed, 2 Nov 2011 11:37:15 +0000 (12:37 +0100)]
pad: small cleanup
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
Wim Taymans [Wed, 2 Nov 2011 11:06:47 +0000 (12:06 +0100)]
utils: remove _found_tags_ API
remove gst_element_found_tags() and gst_element_found_tags_for_pad(), they are
nothing more than a wrapper around gst_pad_push_event()
Wim Taymans [Wed, 2 Nov 2011 09:29:04 +0000 (10:29 +0100)]
Merge branch 'master' into 0.11
Conflicts:
common
configure.ac
Wim Taymans [Sun, 30 Oct 2011 20:33:11 +0000 (21:33 +0100)]
buffer: improve docs
Wim Taymans [Sat, 29 Oct 2011 07:43:04 +0000 (09:43 +0200)]
event: make GstSegment argument const
Wim Taymans [Sat, 29 Oct 2011 07:41:08 +0000 (09:41 +0200)]
docs: remove metatiming from docs
Wim Taymans [Sat, 29 Oct 2011 07:26:49 +0000 (09:26 +0200)]
task: api cleanup
gst_task_create() -> gst_task_new()
Wim Taymans [Sat, 29 Oct 2011 07:02:00 +0000 (09:02 +0200)]
structure: cleanup API
gst_structure_empty_new() -> gst_structure_new_empty()
gst_structure_id_empty_new() -> gst_structure_new_id_empty()
gst_structure_id_new() -> gst_structure_new_id()
Wim Taymans [Sat, 29 Oct 2011 06:38:51 +0000 (08:38 +0200)]
meta: remove timing metadata
This is now on buffers by default
Wim Taymans [Sat, 29 Oct 2011 06:24:12 +0000 (08:24 +0200)]
bufferlist: clean up API
gst_buffer_list_len() -> gst_buffer_list_length()
gst_buffer_list_sized_new() -> gst_buffer_list_new_sized()
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.
Tim-Philipp Müller [Tue, 1 Nov 2011 10:56:39 +0000 (10:56 +0000)]
docs: mention GstActivateMode rename in porting doc
Tim-Philipp Müller [Tue, 1 Nov 2011 00:25:02 +0000 (00:25 +0000)]
pad: rename GstActivateMode to GstPadActivateMode
These might be useful:
sed -i -e 's/GstActivateMode/GstPadActivateMode/g' `git grep GstActivateMode | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GST_ACTIVATE_/GST_PAD_ACTIVATE_/g' `git grep GST_ACTIVATE_ | sed -e 's/:.*//' | sort -u`
Tim-Philipp Müller [Tue, 1 Nov 2011 00:13:35 +0000 (00:13 +0000)]
pad: rename GstProbeType and GstProbeReturn to GstPadProbe{Type,Return}
Better now than later in the cycle. These might come in handy:
sed -i -e 's/GstProbeReturn/GstPadProbeReturn/g' `git grep GstProbeReturn | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GST_PROBE_/GST_PAD_PROBE_/g' `git grep GST_PROBE_ | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GstProbeType/GstPadProbeType/g' `git grep GstProbeType | sed -e 's/:.*//' | sort -u`
Tim-Philipp Müller [Mon, 31 Oct 2011 23:32:17 +0000 (23:32 +0000)]
taglist: remove gst_tag_list_get_*long*()
No one uses this or should ever need to use it, since
the size is architecture-specific anyway. If normal
integers don't do, one should use 64-bit integers.
Tim-Philipp Müller [Mon, 31 Oct 2011 19:04:20 +0000 (19:04 +0000)]
Update .def file for removed/changed API
René Stadler [Mon, 31 Oct 2011 18:23:41 +0000 (19:23 +0100)]
basetransform: fix crash/warning in find_transform when pad is unlinked
Looks like the revert conflict in commit a44271 was resolved incorrectly.
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.
Tim-Philipp Müller [Mon, 31 Oct 2011 14:16:05 +0000 (14:16 +0000)]
filter: remove gst_filter_run() and deprecated filter func
If someone wants to resurrect this, please use a less
generic name space for it.
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