Commit graph

6449 commits

Author SHA1 Message Date
Wim Taymans fe3af1d67b pad: keep the parent alive when requested
Add a new pad flag NEED_PARENT that ensures that the parent of a pad is
reffed and not NULL when the event, query and internal links functions
are called.
When a pad is added to an element automatically make sure the NEED_PARENT flag
is enabled.
2011-11-16 12:08:22 +01:00
Wim Taymans a641b0ce39 don't require parent element to proxy 2011-11-16 10:31:40 +01:00
Wim Taymans f746174c10 pad: move query convenience functions together
Move the caps convenience functions to the other query functions.
2011-11-15 18:16:24 +01:00
Wim Taymans e85198bc32 _query_peer_*() -> _peer_query_*() 2011-11-15 17:50:34 +01:00
Wim Taymans 2358938dbd _accept_caps() -> _query_accept_caps() 2011-11-15 17:40:19 +01:00
Wim Taymans c55962c2d3 _peer_get_caps() -> peer_query_caps() 2011-11-15 17:11:46 +01:00
Wim Taymans d805f0f034 pad: _get_caps() -> _query_caps() 2011-11-15 16:46:37 +01:00
Wim Taymans 28b14092d2 utils: fix docs 2011-11-15 16:16:53 +01:00
Wim Taymans 0796586fce 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.
2011-11-15 16:13:59 +01:00
Wim Taymans 9b98ef4fed pad: improve some flag macros 2011-11-15 16:13:28 +01:00
Wim Taymans 9f00a24b5e pad: fix debug line 2011-11-15 16:13:15 +01:00
Wim Taymans b5c3e254b1 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.
2011-11-15 11:20:48 +01:00
Wim Taymans d162d97e1f query: add caps query 2011-11-14 11:26:17 +01:00
Tim-Philipp Müller 32e7c5d1ef query: remove GST_QUERY_LAST 2011-11-14 09:57:32 +00:00
Wim Taymans d1a8695470 fix docs 2011-11-14 10:27:01 +01:00
Stefan Sauer faf31366ab 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).
2011-11-14 10:02:55 +01:00
Tim-Philipp Müller de3e83759e uri: clean up header files
Tabs to spaces.
2011-11-13 23:14:15 +00:00
Tim-Philipp Müller df20630d78 urihandler: fix return type of get_protocols() 2011-11-13 23:07:58 +00:00
Tim-Philipp Müller 7652df7352 urihandler: fix return type of _get_uri_type()
Return a GstURIType and not a plain guint.
2011-11-13 20:56:02 +00:00
Tim-Philipp Müller 682704750c 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.
2011-11-13 18:04:55 +00:00
Tim-Philipp Müller 35df64357f urihandler: make _get_uri() return a copy
For thread-safety.
2011-11-13 15:51:44 +00:00
Tim-Philipp Müller 34e3e26467 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.
2011-11-13 15:37:40 +00:00
Tim-Philipp Müller bb18ca7fa4 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	tools/gst-inspect.c
2011-11-13 13:23:09 +00:00
Tim-Philipp Müller 4d6795dcd1 gst, controller: replace g_list_prepend + reverse with GQueue 2011-11-12 14:57:48 +00:00
Tim-Philipp Müller ae5e44bfb3 docs: fix typo in buffer docs 2011-11-12 14:04:10 +00:00
René Stadler 4d58535d7c 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.
2011-11-12 01:53:13 +01:00
Wim Taymans 4a7c3b929a .h: fix header files
Ensure correct indentation and :retab.
Make sure all structures have padding
Fix up some old ABI additions.
2011-11-11 17:30:03 +01:00
Stefan Sauer 870a5b0e12 docs: fix invalid xml 2011-11-11 17:08:19 +02:00
Wim Taymans 5be6ad56a5 buffer: avoid < -1 sizes 2011-11-11 10:00:35 +01:00
Tim-Philipp Müller 541d79d886 buffer, memory: make size arguments where -1 is allowed signed 2011-11-11 01:47:30 +00:00
Stefan Sauer a1599f5f7e 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.
2011-11-10 22:47:07 +02:00
Vincent Penquerc'h 86a45f236e gstbuffer: remove incorrect assertion
Offset and sizes have no bearing on each other here.
2011-11-10 14:17:33 +00:00
Edward Hervey 7a285354d2 gst: More introspection annotations 2011-11-10 13:54:03 +01:00
Edward Hervey abab1b1d01 gstmemory: Register a GBoxed GType
Allows using it from g-i
2011-11-10 13:54:02 +01:00
Edward Hervey deb8e74cad introspection: Add --warn-all to introspection scanner
... and let's get fixing all those docs !
2011-11-10 13:54:02 +01:00
Wim Taymans 13754e87fc 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.
2011-11-10 12:09:57 +01:00
Wim Taymans 2227d80f93 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.
2011-11-10 12:08:51 +01:00
Wim Taymans 996d3dd5e4 element: fix some docs 2011-11-10 12:08:15 +01:00
Wim Taymans 37318a8cd2 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.
2011-11-10 10:58:42 +01:00
Wim Taymans b133bea426 pad: don't store events on flushing pads
check the flushing state of the pad before storing the event.
2011-11-09 17:43:49 +01:00
Wim Taymans b7966c0c7d pad: make an ACCEPT_CAPS query
Replace the acceptcaps function with a query.
2011-11-09 17:36:00 +01:00
Wim Taymans 756f6eb3f2 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.
2011-11-09 17:25:30 +01:00
Wim Taymans 6ed869c9f4 element: remove more query_types 2011-11-09 17:23:37 +01:00
Wim Taymans a22c2716cd Merge branch 'master' into 0.11 2011-11-09 12:03:28 +01:00
Wim Taymans 6cc7254166 remove query types
It was not really useful
2011-11-09 11:47:10 +01:00
Vincent Penquerc'h d9e5c529ba 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
2011-11-09 11:24:55 +01:00
Wim Taymans ac9e5533b5 pad: add more queries
Add more query functions to prepare for doing more with queries
2011-11-09 11:22:36 +01:00
Wim Taymans 642a4697fe pad: install query probes
Fire query probes according to updated design doc.
2011-11-08 17:32:11 +01:00
Wim Taymans 4660beaba8 pad: remove lock/unlock_full versions of stream-lock 2011-11-08 15:51:48 +01:00
Wim Taymans 1013c6c79b pad: add defines for query probes 2011-11-08 15:48:34 +01:00
Wim Taymans 79aeef49b8 buffer: update docs 2011-11-08 13:13:55 +01:00
Wim Taymans 9c0d8ca718 Merge branch 'master' into 0.11
Conflicts:
	gst/gstelement.h
	gst/gstghostpad.c
	gst/gstminiobject.c
2011-11-08 12:54:15 +01:00
Wim Taymans ce09010267 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.
2011-11-08 12:47:33 +01:00
Wim Taymans ba3028aeeb 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.
2011-11-08 11:04:19 +01:00
Stefan Sauer 1713aaa4c5 event: log creation of qos events at LOG level instead at INFO 2011-11-08 09:15:30 +01:00
Stefan Sauer 93941a2517 buffer: improve parameter docs 2011-11-08 09:15:30 +01:00
Tim-Philipp Müller 16dcd5e958 docs: fix Since: markers for API added after 0.10.35 2011-11-08 00:32:36 +00:00
Wim Taymans c9a4037805 Merge branch 'master' into 0.11
Conflicts:
	gst/gstvalue.c
2011-11-07 17:17:39 +01:00
Wim Taymans 24e596a1fb 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.
2011-11-07 17:15:17 +01:00
Vincent Penquerc'h 9121a30f9a gstcaps: remove unneeded use of gint64
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:35 +00:00
Vincent Penquerc'h b37d06aed8 gstvalue: quicker version of intersection when we do not need the result
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:19 +00:00
Vincent Penquerc'h d9901a6288 gststructure: simplify return statement in gst_structure_can_intersect
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:14 +00:00
Vincent Penquerc'h afc80c10d1 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
2011-11-07 15:17:04 +00:00
Vincent Penquerc'h 29c97fe780 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
2011-11-07 15:16:52 +00:00
Vincent Penquerc'h 7090257a83 gststructure: rejig test ordering for speed
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:16:26 +00:00
Wim Taymans 4fa22944e9 caps: fix compilation 2011-11-07 10:40:23 +01:00
Wim Taymans b7fac4d093 Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbasetransform.c
2011-11-07 10:01:27 +01:00
Tim-Philipp Müller ee3032a6c9 Revert "controller: fix g_return statement"
This reverts commit 593d2b297b.

gst_controller_set_disabled () returns a void.
2011-11-06 00:07:10 +00:00
Stefan Sauer 618be218e8 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).
2011-11-05 11:02:42 +01:00
Stefan Sauer 593d2b297b controller: fix g_return statement 2011-11-05 11:02:42 +01:00
Stefan Sauer 95c6fde6ac controller: logging tweaks
Don't log in _new before we have the log category. Use _OBJECT variants.
2011-11-05 11:02:42 +01:00
Tim-Philipp Müller be70cebc31 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
2011-11-05 01:27:54 +00:00
Stefan Sauer efd4402ee0 controller: add api to check for active controllers (needed for e.g. volume) 2011-11-04 20:50:58 +01:00
Stefan Sauer 0f2d8ab5c2 controller: remove obsolete comments from api transition 2011-11-04 20:32:32 +01:00
Stefan Sauer 9a27b9c056 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.
2011-11-04 20:11:51 +01:00
Wim Taymans a38c8b759c bin: fix the iterator copy 2011-11-04 19:17:06 +01:00
Wim Taymans c2c9776027 Merge branch 'master' into 0.11
Conflicts:
	gst/gstbin.c
2011-11-04 19:11:19 +01:00
Sjoerd Simons 57074fc025 caps: Add gst_caps_is_strictly_equal 2011-11-04 17:49:55 +00:00
Wim Taymans b6fbeb8fed pad: make probes work on all pads
fixes #644907
2011-11-04 18:19:14 +01:00
Peteris Krisjanis 795e836ce3 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.
2011-11-04 00:19:56 +00:00
Tim-Philipp Müller d2c713a9b5 bin: use statically allocated GQueue
Because we can.
2011-11-03 22:58:50 +00:00
Wim Taymans 2cb971589d task: don't use lock/unlock_full 2011-11-03 14:14:54 +01:00
Wim Taymans a1d82bec39 Merge branch 'master' into 0.11
Conflicts:
	gst/gstghostpad.c
2011-11-03 11:30:52 +01:00
Wim Taymans e91b1ee412 pad: small cleanup 2011-11-03 11:15:11 +01:00
Nicolas Dufresne 391568efde 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
2011-11-03 09:27:00 +01:00
Wim Taymans 6c627481b3 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()
2011-11-02 12:06:47 +01:00
Wim Taymans 289d2d62ba buffer: improve docs 2011-11-02 08:59:44 +01:00
Wim Taymans 7f6495d713 event: make GstSegment argument const 2011-11-02 08:59:44 +01:00
Wim Taymans d9dc9f9d52 task: api cleanup
gst_task_create() -> gst_task_new()
2011-11-02 08:59:44 +01:00
Wim Taymans e4725d9df2 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()
2011-11-02 08:59:44 +01:00
Wim Taymans 89fd4ded72 meta: remove timing metadata
This is now on buffers by default
2011-11-02 08:59:43 +01:00
Wim Taymans 88e12228cf bufferlist: clean up API
gst_buffer_list_len() -> gst_buffer_list_length()
gst_buffer_list_sized_new() -> gst_buffer_list_new_sized()
2011-11-02 08:59:43 +01:00
Tim-Philipp Müller 4f004eff38 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`
2011-11-01 00:25:02 +00:00
Tim-Philipp Müller bffc9207b5 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`
2011-11-01 00:15:17 +00:00
Tim-Philipp Müller f19b7d1125 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.
2011-10-31 23:32:17 +00:00
Tim-Philipp Müller 221c9423d3 filter: remove gst_filter_run() and deprecated filter func
If someone wants to resurrect this, please use a less
generic name space for it.
2011-10-31 14:16:05 +00:00
Tim-Philipp Müller cfff518cee Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst/gstpluginfeature.c
2011-10-31 14:03:15 +00:00
Tim-Philipp Müller 4e7944b0b9 taglist: rename _new() to _new_empty() and new_full*() to new*() 2011-10-30 22:24:25 +00:00
Tim-Philipp Müller d9f95e8920 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
2011-10-30 21:55:05 +00:00
Tim-Philipp Müller 8008837986 registry: don't use soon-to-be-deprecated gst_filter_run()
Lines-of-code savings are negligible anyway.
2011-10-30 21:47:39 +00:00
Tim-Philipp Müller 19b4c9c793 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
2011-10-30 21:47:26 +00:00
Tim-Philipp Müller dc7ec44486 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).
2011-10-30 10:14:15 +00:00
Tim-Philipp Müller 3a4f580bb2 Merge remote-tracking branch 'origin/master' into 0.11 2011-10-30 10:00:28 +00:00
Tim-Philipp Müller 606c53fc94 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()
2011-10-30 09:58:16 +00:00
Tim-Philipp Müller 002446820e Merge remote-tracking branch 'origin/master' into 0.11 2011-10-30 09:31:39 +00:00
Tim-Philipp Müller 911c078c2b 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.
2011-10-30 09:26:52 +00:00
Tim-Philipp Müller cdade325ae taglist: add gst_tag_list_is_equal()
API: gst_tag_list_is_equal()
2011-10-30 01:44:00 +01:00
Tim-Philipp Müller bc1a37e64f structure: identical structures are definitely equal 2011-10-29 23:52:22 +01:00
Tim-Philipp Müller 948980bf11 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.
2011-10-29 20:06:54 +01:00
Tim-Philipp Müller 5842e3fc38 elementfactory: move private functions for registry to private header 2011-10-29 19:59:05 +01:00
Wim Taymans 66e4966aee buffer: fix docs some more 2011-10-28 16:45:23 +02:00
Wim Taymans a70934e4ef segment: remove GST_SEEK_TYPE_CUR 2011-10-28 16:23:49 +02:00
Wim Taymans 8b6431a4de buffer: improve docs 2011-10-28 16:23:49 +02:00
Wim Taymans 0941cc9fb8 compat: add timestamp compat defines 2011-10-28 12:26:27 +02:00
Wim Taymans 80fc568747 buffer: add pts/dts to buffers 2011-10-28 12:15:44 +02:00
Wim Taymans d9c8ab67a0 caps: add empty_simple variants 2011-10-27 17:09:04 +02:00
Johan Boulé 3406549cf6 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
2011-10-27 14:56:24 +01:00
Wim Taymans 852851edab Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbasetransform.c
2011-10-27 15:27:19 +02:00
Tim-Philipp Müller c00c8903ca 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
2011-10-27 13:25:08 +01:00
Stefan Sauer b7ae6c46a3 event: clarify docs for step event 2011-10-26 12:24:29 +02:00
Tim-Philipp Müller dd9f244f03 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
2011-10-26 11:20:16 +01:00
Thiago Santos 27ce89812a 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.
2011-10-21 10:23:04 -03:00
Stefan Sauer b6d34084f2 interfaces: clean up the use of iface and class/klass 2011-10-21 14:20:40 +02:00
Stefan Sauer ea030c9452 docs: spelling and formatting fixes 2011-10-21 11:21:17 +02:00
Edward Hervey df6044f7eb 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
2011-10-21 10:52:46 +02:00
Stefan Sauer ad438461a6 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.
2011-10-20 09:51:11 +02:00
René Stadler 5800757369 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.
2011-10-19 23:40:10 +02:00
Edward Hervey 7460061645 gstobject: Add (skip) annotation to gst_object_ref_sink 2011-10-19 12:12:36 +02:00
Edward Hervey 88095c406e gstiterator: Add skip annotation for creating GstIterator
Not really useful for bindings
2011-10-19 11:59:29 +02:00
Johan Dahlin 2f069b106e introspection: Skip gst_poll apis
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:24:17 +02:00
Johan Dahlin 9200776841 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
2011-10-19 10:24:11 +02:00
Johan Dahlin 6cd0287bdb introspection: Skip gst_init_get_option_group
It uses GOptionGroup which is not wrappable

https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:23:57 +02:00
Johan Dahlin df7d090ecc introspection: Add missing annotations
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:23:53 +02:00
Johan Dahlin d0e94754f0 introspection: Rename gst_bus_add_watch_full to gst_bus_add_watch
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:23:45 +02:00
Johan Dahlin 61d5670b27 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
2011-10-19 10:20:31 +02:00
Johan Dahlin 22acd34c42 Add gst_structure_get_type
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:20:31 +02:00
Thiago Santos 3ab02d8fdc message: protect against null message sources
Message sources can be null, check if it is before trying to
access its name.
2011-10-18 19:29:13 -03:00
Stefan Sauer 2e6b434730 logging: more logging and prefer human readable details over memory locations 2011-10-18 15:24:21 +02:00
Stefan Sauer a98208770b 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.
2011-10-18 15:24:21 +02:00
René Stadler 5239679c09 pad: fix buffer/event leak when pad is flushing
Apparently this got lost while refactoring probes.
2011-10-17 21:40:46 +02:00
René Stadler 221836f452 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.
2011-10-17 13:59:49 +02:00
Edward Hervey 631bf1f3af gstregistry: Don't leak feature name 2011-10-17 09:51:15 +02:00
Tim-Philipp Müller d42923b014 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.
2011-10-16 21:14:03 +01:00
Edward Hervey d829425fb9 gstbuffer: Add transfer annotations for gst_buffer_join() 2011-10-16 21:13:56 +01:00
Wim Taymans 8e4f006c57 fix more parent_class 2011-10-16 14:45:03 +02:00
Wim Taymans 40bb69827c Merge branch 'master' into 0.11
Conflicts:
	gst/gstevent.h
2011-10-16 14:20:33 +02:00
Wim Taymans 2f09c5a9c5 padtemplate: clean up parent_class 2011-10-16 14:19:36 +02:00
Wim Taymans 65a7c66053 pad: clean up parent_class handling 2011-10-16 14:19:36 +02:00
Edward Hervey ca2ba294d7 gstbuffer: Add transfer annotations for gst_buffer_join() 2011-10-14 09:35:09 +02:00
Stefan Sauer 72d4bbd8db bus: fix typo in the docs 2011-10-13 17:33:06 +02:00
Stefan Sauer 32b90e667d debugutils: show if an element is state-locked 2011-10-13 16:49:01 +02:00
Stefan Sauer 735068218e logging: use _OBJECT variants more 2011-10-13 16:49:01 +02:00
Sebastian Dröge e8d3870214 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.
2011-10-13 10:19:34 +02:00
Sebastian Dröge ef32fd0d15 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.
2011-10-13 10:18:51 +02:00
Thiago Santos a171e684ac ghostpad: Do not unref the internal pad twice
g_value_unset should already unref the internal proxypad, no
need to do it again
2011-10-12 18:14:46 -03:00
René Stadler eab6465ba8 event: add transfer type for gst_event_new_caps argument
These annotations are useful to humans as well...
2011-10-12 14:37:31 +02:00
René Stadler 724d52300e event: fix gst_event_new_segment transfer type 2011-10-12 13:31:48 +02:00
Edward Hervey 917bfc5df7 gst: More 'transfer' annotations 2011-10-11 13:51:37 +02:00
Tim-Philipp Müller 56e27b0546 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
2011-10-10 19:41:33 +01:00
Tim-Philipp Müller 01c11ebf08 utils: remove gst_type_register_static_full()
It was only really used by GST_BOILERPLATE, and that is no more.

https://bugzilla.gnome.org/show_bug.cgi?id=660955
2011-10-10 19:30:34 +01:00
Edward Hervey 009bc19528 ghostpad: If we don't control a pad/template, return proper caps
If there's a filter, we can return that in _get_caps()
2011-10-10 17:04:39 +02:00
Edward Hervey 86656b44af gstpad: Specify transfer full for gst_pad_get_caps()
It increments the reference count of the returned caps.
2011-10-10 16:55:19 +02:00
Edward Hervey 42fcb1175b gstpad: Add debug to know what events are transferred between pads 2011-10-10 16:55:19 +02:00
Edward Hervey 2ba6017363 gstpad: Unset EOS event on FLUSH_STOP 2011-10-10 16:54:40 +02:00
Edward Hervey a930f67697 gstpad: Don't ignore downstream FlowReturn with IDLE probes
If pushgin downstream returned a non-ok value (like GST_FLOW_WRONG_STATE),
we don't want to end up returning a different value (GST_FLOW_OK in this
case) if IDLE probes are present.
2011-10-10 16:53:32 +02:00
Wim Taymans f44b54ebc9 compat: add compat define for UNEXPECTED 2011-10-10 11:36:23 +02:00
Wim Taymans ea012d3dd7 pad: GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2011-10-10 11:33:51 +02:00
Tim-Philipp Müller 534e077c18 elementfactory: don't export private _gst_elementclass_factory quark 2011-10-08 20:46:55 +01:00
Tim-Philipp Müller ac40ab45b3 info: make _gst_debug_init() private for now
This was a FIXME for 0.11. I guess a case could be made to keep it around
separately for apps or libraries that only want to use GStreamer's debugging
system, but it seems more likely they'd just copy the two source files into
their own tree if the case. Also, things like types wouldn't be initialised
without gst_init(). We can still make it public again if anyone needs it,
but then we should make it a proper function and not hide it behind
underscores.
2011-10-08 20:15:46 +01:00
Tim-Philipp Müller 21ec07eab0 Merge remote-tracking branch 'origin/master' into symbol-exports 2011-10-08 19:54:06 +01:00
Tim-Philipp Müller 01d87250a8 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.
2011-10-08 14:34:04 +01:00
Tim-Philipp Müller 5df82c88c9 info: rename __gst_debug_* to _gst_debug_* and fix symbol export regexp
Only export GStreamer symbols with one leading underscore, not two
or more leading underscores.

Requires a rebuild of the entire stack, sorry.
2011-10-08 14:27:12 +01:00
Wim Taymans e10666a9d0 Merge branch 'master' into 0.11 2011-10-08 14:25:02 +02:00
Wim Taymans c57c1e9b59 info: port to 0.11 2011-10-08 09:41:54 +02:00
Wim Taymans ee1f861ec1 Merge branch 'master' into 0.11
Conflicts:
	gst/gstpad.c
2011-10-08 09:28:02 +02:00
Thiago Santos 52613b4d14 pipeline: Use pipeline category for one more log message
Makes debugging easier.
2011-10-07 13:36:38 -03:00
Robert Swain 138bb17bf9 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.
2011-10-07 16:38:52 +02:00
Edward Hervey 045fcd8b0a gstbufferpool: Use glib compat macros for atomic pointers 2011-10-05 11:20:37 +02:00
Wim Taymans 90a4f75650 buffer: improve docs 2011-10-04 18:55:09 +02:00
Wim Taymans 544aa9773a Merge branch 'master' into 0.11 2011-10-04 17:39:17 +02:00
Edward Hervey 314a24c4ac gstevent: specify (transfer) for gst_event_new_segment 2011-10-04 15:56:28 +02:00
Wim Taymans 4f8bb4085f Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbaseparse.c
2011-10-03 10:06:17 +02:00
Edward Hervey a7f8e4a230 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 :)
2011-10-03 09:31:59 +02:00
Tim-Philipp Müller eeed491170 gst.h: include header for atomic queue 2011-09-30 14:52:01 +01:00
Wim Taymans eda44fbc22 memory: fix memory alignment
Fix compilation when POSIX_MEMALIGN is not set.
Debug the configured alignment.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=660300
2011-09-28 18:47:02 +02:00
Wim Taymans 422d1245c1 pad: improve debug 2011-09-28 18:44:12 +02:00
Wim Taymans 8a1f401dfd docs: fix docs 2011-09-26 20:47:35 +02:00
Wim Taymans 52cb649834 Merge branch 'master' into 0.11 2011-09-26 19:25:22 +02:00
Wim Taymans dc8b6a555d segment: improve API docs a little 2011-09-26 19:24:19 +02:00
Raimo Järvi 6637d983d3 gst: Fix compiler warnings on 64 bit mingw-w64
Fixes bug #660083.
2011-09-26 12:17:30 +02:00
Edward Hervey 10e7159cf8 Merge branch 'master' into 0.11
Conflicts:
	gst/gstcaps.c
	gst/gstpad.c
	libs/gst/base/gstbasesink.c
	libs/gst/base/gstbasesink.h
	libs/gst/base/gstbasetransform.c
2011-09-23 13:09:25 +02:00
Stas Sergeev b090a376d4 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.
2011-09-19 14:08:16 +02:00
Fabrizio (Misto) Milo 7be3899653 caps: use g_value_take_string() and gst_value_get_caps() instead of accessing internal fields 2011-09-19 09:50:11 +02:00
Tim-Philipp Müller b15ae28ad2 pad: add more debug logging for other chain function code path as well 2011-09-16 13:38:41 +01:00
Tim-Philipp Müller a08402bdfd pad: fix up printf format in debug message
Which I messed up.
2011-09-16 13:13:30 +01:00
Vincent Penquerc'h 91c217c714 pad: make some debug traces more useful
https://bugzilla.gnome.org/show_bug.cgi?id=659139
2011-09-16 12:07:21 +01:00
Tim-Philipp Müller 98ee2979d1 caps: move log messages for caps creation/freeing into TRACE category
Reduce SPAM for GST_CAPS:5.
2011-09-10 18:24:49 +01:00
Sebastian Dröge 22ba786807 pad: Only do the subset check in gst_pad_accept_caps() if the pad claims to accept the caps 2011-09-09 12:56:20 +02:00
Sebastian Dröge 7476186217 Revert "Revert "pad: Check for subsets, not non-empty intersections to check if caps are compatible""
This reverts commit 2bfada5581.

Conflicts:

	gst/gstpad.c

For 0.11 we want to enforce that only subsets of the pad
caps are allowed. This breaks backward compatibility for
some elements, which is why we only print a warning in
0.10.
2011-09-08 14:32:26 +02:00
Sebastian Dröge 7a82ed41f8 Revert "pad: Use gst_pad_accept_caps() instead of manually checking when configuring a sinkpad"
This reverts commit d3cad28da9.

It causes performance problems because acceptcaps() propagates downstream.
2011-09-08 14:29:00 +02:00