Wim Taymans [Wed, 16 Nov 2011 09:29:47 +0000 (10:29 +0100)]
don't require parent element to proxy
Wim Taymans [Wed, 16 Nov 2011 09:16:55 +0000 (10:16 +0100)]
update porting doc
Wim Taymans [Tue, 15 Nov 2011 17:16:24 +0000 (18:16 +0100)]
pad: move query convenience functions together
Move the caps convenience functions to the other query functions.
Wim Taymans [Tue, 15 Nov 2011 16:50:34 +0000 (17:50 +0100)]
_query_peer_*() -> _peer_query_*()
Wim Taymans [Tue, 15 Nov 2011 16:40:19 +0000 (17:40 +0100)]
_accept_caps() -> _query_accept_caps()
Wim Taymans [Tue, 15 Nov 2011 16:11:46 +0000 (17:11 +0100)]
_peer_get_caps() -> peer_query_caps()
Wim Taymans [Tue, 15 Nov 2011 15:46:37 +0000 (16:46 +0100)]
pad: _get_caps() -> _query_caps()
Wim Taymans [Tue, 15 Nov 2011 15:16:53 +0000 (16:16 +0100)]
utils: fix docs
Wim Taymans [Tue, 15 Nov 2011 15:13:59 +0000 (16:13 +0100)]
utils: fix the proxy functions
fix the proxy functions for query_accept_caps and query_caps to use the pad
forward helper functions which correctly forwards on the internally linked pads.
Wim Taymans [Tue, 15 Nov 2011 15:13:28 +0000 (16:13 +0100)]
pad: improve some flag macros
Wim Taymans [Tue, 15 Nov 2011 15:13:15 +0000 (16:13 +0100)]
pad: fix debug line
Wim Taymans [Tue, 15 Nov 2011 10:20:48 +0000 (11:20 +0100)]
pad: remove getcaps and use caps query
Remove the getcaps function on the pad and use the CAPS query for
the same effect.
Add PROXY_CAPS to the pad flags. This instructs the default caps event and query
handlers to pass on the CAPS related queries and events. This simplifies a lot
of elements that passtrough caps negotiation.
Make two utility functions to proxy caps queries and aggregate the result. Needs
to use the pad forward function instead later.
Make the _query_peer_ utility functions use the gst_pad_peer_query() function to
make sure the probes are emited properly.
Wim Taymans [Mon, 14 Nov 2011 10:26:17 +0000 (11:26 +0100)]
query: add caps query
Tim-Philipp Müller [Mon, 14 Nov 2011 09:57:32 +0000 (09:57 +0000)]
query: remove GST_QUERY_LAST
Wim Taymans [Mon, 14 Nov 2011 09:27:01 +0000 (10:27 +0100)]
fix docs
Stefan Sauer [Sat, 12 Nov 2011 08:29:30 +0000 (10:29 +0200)]
controller: remove functions to add/remove controlled properties
Make that implizit with attaching/detaching controlsources. This is a lot easier
and has less invalid state (controlled property without control source).
Tim-Philipp Müller [Sun, 13 Nov 2011 23:25:23 +0000 (23:25 +0000)]
plugins, tools: update for get_protocols() return value change
Tim-Philipp Müller [Sun, 13 Nov 2011 23:14:15 +0000 (23:14 +0000)]
uri: clean up header files
Tabs to spaces.
Tim-Philipp Müller [Sun, 13 Nov 2011 23:07:58 +0000 (23:07 +0000)]
urihandler: fix return type of get_protocols()
Tim-Philipp Müller [Sun, 13 Nov 2011 20:56:02 +0000 (20:56 +0000)]
urihandler: fix return type of _get_uri_type()
Return a GstURIType and not a plain guint.
Tim-Philipp Müller [Sun, 13 Nov 2011 17:45:19 +0000 (17:45 +0000)]
tests: update unit tests for URI handler API changes
Tim-Philipp Müller [Sun, 13 Nov 2011 17:44:57 +0000 (17:44 +0000)]
elements: update fd + file sources and sinks for GstUriHandler changes
Tim-Philipp Müller [Sun, 13 Nov 2011 17:44:06 +0000 (17:44 +0000)]
urihandler: pass GError argument to gst_uri_handler_set_uri()
Also let gst_uri_handler_set_uri check already if the protocol
is supported, so that not every uri handler has to do that
itself.
Tim-Philipp Müller [Sun, 13 Nov 2011 15:51:44 +0000 (15:51 +0000)]
urihandler: make _get_uri() return a copy
For thread-safety.
Tim-Philipp Müller [Sun, 13 Nov 2011 15:37:40 +0000 (15:37 +0000)]
urihandler: remove "new-uri" signal
No one but filesrc used that API. Should probably be replaced by
requiring an "uri" property instead, and then objects can do a
notify on that. Also removed interface structure padding, it's
not needed.
Tim-Philipp Müller [Sun, 13 Nov 2011 13:23:09 +0000 (13:23 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
tools/gst-inspect.c
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.
Tim-Philipp Müller [Sat, 12 Nov 2011 14:55:07 +0000 (14:55 +0000)]
gst, controller: replace g_list_prepend + reverse with GQueue
Tim-Philipp Müller [Sat, 12 Nov 2011 14:04:10 +0000 (14:04 +0000)]
docs: fix typo in buffer docs
René Stadler [Sat, 12 Nov 2011 00:54:44 +0000 (01:54 +0100)]
basetransform: fix caps unref in transform_caps filter subset check
I did not test this, but the code looked very wrong.
René Stadler [Sat, 12 Nov 2011 00:51:11 +0000 (01:51 +0100)]
query: do not return a ref from parse_accept_caps
Makes this exactly like gst_event_parse_caps. This is what current code
expects, so it fixes some leaks.
Wim Taymans [Fri, 11 Nov 2011 16:17:43 +0000 (17:17 +0100)]
.h: fix header files
Ensure correct indentation and retab
Make sure all structure have padding
Wim Taymans [Fri, 11 Nov 2011 15:52:41 +0000 (16:52 +0100)]
.h: fix header files
Ensure correct indentation and :retab.
Make sure all structures have padding
Fix up some old ABI additions.
Stefan Sauer [Fri, 11 Nov 2011 15:04:52 +0000 (17:04 +0200)]
docs: fix invalid xml
Wim Taymans [Fri, 11 Nov 2011 09:00:35 +0000 (10:00 +0100)]
buffer: avoid < -1 sizes
Tim-Philipp Müller [Fri, 11 Nov 2011 01:47:30 +0000 (01:47 +0000)]
buffer, memory: make size arguments where -1 is allowed signed
Tim-Philipp Müller [Fri, 11 Nov 2011 01:44:16 +0000 (01:44 +0000)]
win32: update .def file for latest API changes
Stefan Sauer [Thu, 10 Nov 2011 17:37:28 +0000 (19:37 +0200)]
controller: merge controller into gstobject
This make the controller even more lightweight (no extra object, no extra lock,
less indirections). For object that don't use the controller the only 'overhead'
is a 3 unused fields in the gst_object structure.
Wim Taymans [Thu, 10 Nov 2011 17:58:35 +0000 (18:58 +0100)]
netmeta: avoid using g[u]long in headers
Wim Taymans [Thu, 10 Nov 2011 17:18:24 +0000 (18:18 +0100)]
adapter: remove flush from _unmap
Wim Taymans [Thu, 10 Nov 2011 15:02:59 +0000 (16:02 +0100)]
basesrc: implement a default get_caps function
Don't rely on the return value of a vmethod to trigger the default
implementation but make a real defaul implementation of the method that the
subclass can chain up to.
Vincent Penquerc'h [Thu, 10 Nov 2011 14:13:54 +0000 (14:13 +0000)]
gstbuffer: remove incorrect assertion
Offset and sizes have no bearing on each other here.
Edward Hervey [Thu, 10 Nov 2011 12:59:28 +0000 (13:59 +0100)]
win32: Update def files
Edward Hervey [Thu, 10 Nov 2011 12:53:33 +0000 (13:53 +0100)]
gst: More introspection annotations
Edward Hervey [Thu, 10 Nov 2011 12:51:28 +0000 (13:51 +0100)]
gstmemory: Register a GBoxed GType
Allows using it from g-i
Edward Hervey [Thu, 10 Nov 2011 12:50:23 +0000 (13:50 +0100)]
introspection: Add --warn-all to introspection scanner
... and let's get fixing all those docs !
Wim Taymans [Thu, 10 Nov 2011 12:38:58 +0000 (13:38 +0100)]
basetransform: fix vmethods
Make a default implementation of the transform_caps vmethod so that subclasses
can call into it.
Make a default implementation of transform_size.
Avoid doing something in the vmethod trampoline.
Wim Taymans [Thu, 10 Nov 2011 12:37:12 +0000 (13:37 +0100)]
tests: only override when != NULL
Only override the methods in the unit tests when != NULL otherwise we might
override the default implementation.
Wim Taymans [Thu, 10 Nov 2011 12:36:10 +0000 (13:36 +0100)]
pushsrc: make alloc method a vmethod
Wim Taymans [Thu, 10 Nov 2011 11:33:49 +0000 (12:33 +0100)]
basesink: reorder vmethod according to .h file
Wim Taymans [Thu, 10 Nov 2011 11:33:33 +0000 (12:33 +0100)]
basesink: improve comments
Wim Taymans [Thu, 10 Nov 2011 11:33:10 +0000 (12:33 +0100)]
basesrc: don't do things in the vmethod trampoline
Wim Taymans [Thu, 10 Nov 2011 11:09:57 +0000 (12:09 +0100)]
element: add a default set_clock implementation
Add a default set_clock implementation and avoid doing work in the vmethod
trampoline. This requires subclasses to chain up.
Wim Taymans [Thu, 10 Nov 2011 11:08:51 +0000 (12:08 +0100)]
element: don't do anything in the vmethod trampoline
Avoid doing stuff in the vmethod trampoline, just let the default
implementation of the method take care of things.
Wim Taymans [Thu, 10 Nov 2011 11:08:15 +0000 (12:08 +0100)]
element: fix some docs
Wim Taymans [Thu, 10 Nov 2011 10:42:26 +0000 (11:42 +0100)]
adapter: use gpointer for return types
Wim Taymans [Thu, 10 Nov 2011 10:12:36 +0000 (11:12 +0100)]
porting: update doc
Wim Taymans [Thu, 10 Nov 2011 09:58:42 +0000 (10:58 +0100)]
pad: remove GstPadFixateCapsFunction
The fixate caps function was not used externally and we have vmethods in the
base classes where it is needed.
Update some docs.
simplify some fixate functions in the base classes. Also pass the untruncated
caps to the vmethod.
Wim Taymans [Wed, 9 Nov 2011 16:43:49 +0000 (17:43 +0100)]
pad: don't store events on flushing pads
check the flushing state of the pad before storing the event.
Wim Taymans [Wed, 9 Nov 2011 16:36:00 +0000 (17:36 +0100)]
pad: make an ACCEPT_CAPS query
Replace the acceptcaps function with a query.
Wim Taymans [Wed, 9 Nov 2011 16:25:30 +0000 (17:25 +0100)]
pad: refuse events in flushing
when we are flushing, don't store the event on the pad but simply return FALSE.
Don't deactivate the srcpad, we need it to be active in order to push the
caps. Downstream can change the scheduling mode of an active pad.
Wim Taymans [Wed, 9 Nov 2011 16:19:12 +0000 (17:19 +0100)]
element: remove more query_types
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>
René Stadler [Wed, 9 Nov 2011 11:21:17 +0000 (12:21 +0100)]
tests: pad: add tests for sticky caps handling
test_sticky_caps_flushing is currently failing.
Wim Taymans [Wed, 9 Nov 2011 11:12:26 +0000 (12:12 +0100)]
update common
Wim Taymans [Wed, 9 Nov 2011 11:03:28 +0000 (12:03 +0100)]
Merge branch 'master' into 0.11
Wim Taymans [Wed, 9 Nov 2011 11:02:12 +0000 (12:02 +0100)]
porting: update porting doc
Wim Taymans [Wed, 9 Nov 2011 10:47:10 +0000 (11:47 +0100)]
remove query types
It was not really useful
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
Stefan Sauer [Wed, 9 Nov 2011 10:24:26 +0000 (11:24 +0100)]
tests: add a subset test for structure
Wim Taymans [Wed, 9 Nov 2011 10:22:36 +0000 (11:22 +0100)]
pad: add more queries
Add more query functions to prepare for doing more with queries
Stefan Sauer [Fri, 28 Oct 2011 11:39:58 +0000 (13:39 +0200)]
docs: also fix wrong call order for controller in manual
Wim Taymans [Tue, 8 Nov 2011 16:32:11 +0000 (17:32 +0100)]
pad: install query probes
Fire query probes according to updated design doc.
Wim Taymans [Tue, 8 Nov 2011 14:51:48 +0000 (15:51 +0100)]
pad: remove lock/unlock_full versions of stream-lock
Wim Taymans [Tue, 8 Nov 2011 14:48:34 +0000 (15:48 +0100)]
pad: add defines for query probes
Wim Taymans [Tue, 8 Nov 2011 12:30:18 +0000 (13:30 +0100)]
pad: fix unit test
Wim Taymans [Tue, 8 Nov 2011 12:13:55 +0000 (13:13 +0100)]
buffer: update docs
Wim Taymans [Tue, 8 Nov 2011 12:02:04 +0000 (13:02 +0100)]
test: port to 0.11
Wim Taymans [Tue, 8 Nov 2011 11:54:15 +0000 (12:54 +0100)]
Merge branch 'master' into 0.11
Conflicts:
gst/gstelement.h
gst/gstghostpad.c
gst/gstminiobject.c
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.
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.
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
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
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()
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).