Commit graph

11842 commits

Author SHA1 Message Date
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
Sjoerd Simons e97eeb5cd4 basetransform: Only use the cached transform on strictly equal caps
https://bugzilla.gnome.org/show_bug.cgi?id=663333
2011-11-04 17:49:55 +00:00
Sjoerd Simons 57074fc025 caps: Add gst_caps_is_strictly_equal 2011-11-04 17:49:55 +00: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 84e10969f4 configure: suppress unused variable warnings if gst debugging is disabled
https://bugzilla.gnome.org/show_bug.cgi?id=662952
2011-11-04 00:03:05 +00:00
Tim-Philipp Müller 1fa23148fa configure: fix typo around GLIB_EXTRA_CFLAGS in GST_ALL_CXXFLAGS 2011-11-04 00:02:07 +00:00
Tim-Philipp Müller 2f8ac67726 queue: use statically allocated GQueue 2011-11-03 23:08:52 +00:00
Tim-Philipp Müller d2c713a9b5 bin: use statically allocated GQueue
Because we can.
2011-11-03 22:58:50 +00:00
Tim-Philipp Müller 2a4fca230f collectpads2: use flags enum instead of guint in structure 2011-11-03 22:51:57 +00:00
Tim-Philipp Müller cc279e6bdd queue2: use statically allocated GQueue 2011-11-03 22:41:13 +00: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
Tim-Philipp Müller cf69ce1df6 adapter: simplify gst_adapter_take_list()
Use a stack-allocated GQueue to assemble our GList.
2011-11-01 14:17:21 +00:00
Tim-Philipp Müller bb2020b1e7 configure: make GLIB_EXTRA_CFLAGS overwritable
Make 'make GLIB_EXTRA_CFLAGS=...' work.
2011-10-31 17:45:44 +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 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 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
Sjoerd Simons 1aa5b76a6f basetransform: Also fush the cache when changing the upstream caps suggestion 2011-10-28 11:53:32 +02:00
Sjoerd Simons 383d637f85 basetransform: Add debug output when returning a cached transform 2011-10-28 11:50:23 +02:00
Sebastian Dröge 1eb3380973 collectpads2: Fix refcount handling if a buffer was dropped due to clipping 2011-10-28 10:54:19 +02:00
Sebastian Dröge 2f100e86f6 collectpads2: Merge the clip and prepare_buffer function into one 2011-10-28 10:38:24 +02:00
Sebastian Dröge 415f3dd808 collectpads2: Merge clipping API from old collectpads 2011-10-28 10:38:24 +02:00
Tim-Philipp Müller ab2d45283e basesink: make default query function name show up in gst-inspect 2011-10-28 09:28:14 +01:00
Mark Nauwelaerts ce88f417b1 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.
2011-10-28 09:39:00 +02:00
Sebastian Dröge 2a13275985 collectpads2: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-10-28 09:38:35 +02:00
Sebastian Dröge 1b1b7931b0 collectpads2: Add to the documentation 2011-10-28 09:36:12 +02:00
Sebastian Dröge 5b12790c26 win32: Add new collectpads2 API 2011-10-28 09:36:12 +02:00
Sebastian Dröge 6f231f89d6 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
2011-10-28 09:36:06 +02:00
Jan Schmidt 9a5109b86e basetransform: Fix refcount leak
Don't leak peercaps and a ref to the basetransform when returning
the cached caps.
2011-10-27 23:08:14 +11:00
Stefan Sauer 03797b9a12 controller: fix wrong order of calls in the docs. 2011-10-27 10:38:10 +02: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
Sebastian Dröge b046ba6e3a baseparse: Fix documentation, it's pre_push_frame and not pre_push_buffer 2011-10-20 16:59:01 +02:00
Vincent Penquerc'h 168e5c0abb 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
2011-10-20 16:54:27 +02:00
Reynaldo H. Verdejo Pinochet 905d1fea18 Fix broken android building due to name change in 01d87250a8 2011-10-20 10:45:30 -03:00
Sebastian Dröge 64493d9603 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.
2011-10-20 11:48:24 +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
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
Thiago Santos 4c1397d572 baseparse: add since doc to new getcaps function 2011-10-18 18:58:14 -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