Wim Taymans [Thu, 22 Dec 2011 14:55:29 +0000 (15:55 +0100)]
bufferpool: handle metadata in the pool
Mark all metadata on the allocated buffers with a POOLED flag. When a buffer
returns to the pool, remove all metadata that did not have the POOLED flag. This
makes sure that we never leave unknown metadata to the buffers in the pool.
Wim Taymans [Thu, 22 Dec 2011 14:54:03 +0000 (15:54 +0100)]
buffer: add foreach function for the metadata
Wim Taymans [Thu, 22 Dec 2011 14:53:19 +0000 (15:53 +0100)]
bufferlist: small doc fix
Wim Taymans [Thu, 22 Dec 2011 14:52:08 +0000 (15:52 +0100)]
meta: add metadata flags
Add metadata flags so that we can set extra properties of the metadata
Tim-Philipp Müller [Thu, 22 Dec 2011 11:08:42 +0000 (11:08 +0000)]
controller: fix GType name of interpolation mode enum
Wim Taymans [Wed, 21 Dec 2011 10:13:47 +0000 (11:13 +0100)]
def: update
Wim Taymans [Wed, 21 Dec 2011 10:08:34 +0000 (11:08 +0100)]
caps: rename variable for consistency
Rename the variable for GST_CAPS_NONE to _gst_caps_none for consistency and to
hie the fact that NONE caps are also accidentally empty caps.
Sebastian Dröge [Mon, 19 Dec 2011 13:27:47 +0000 (14:27 +0100)]
basetransform: If the filtered peer caps are already empty error out early
Wim Taymans [Tue, 20 Dec 2011 12:21:36 +0000 (13:21 +0100)]
def: update defs
Wim Taymans [Tue, 20 Dec 2011 12:14:07 +0000 (13:14 +0100)]
caps: add ANY and EMPTY singletons
Add a singleton for ANY and EMPTY caps and make the GST_CAPS_ANY and
GST_CAPS_NONE point to them. This makes the API more consistent now
that the macro does not magically create a ref. It also solves some leaks in
places where the macro was used to register a padtemplate.
Wim Taymans [Tue, 20 Dec 2011 12:13:04 +0000 (13:13 +0100)]
remove const in gst_type_find_register()
Remove the const from the GstCaps in gst_type_find_register() because the
function takes a ref to the caps.
Wim Taymans [Tue, 20 Dec 2011 11:59:37 +0000 (12:59 +0100)]
defs: update
Stefan Sauer [Tue, 20 Dec 2011 10:38:19 +0000 (11:38 +0100)]
controller: remove unused parent_class varriable from controlsource
Stefan Sauer [Mon, 19 Dec 2011 22:32:57 +0000 (23:32 +0100)]
controller: cleanup interpolation modes
Remove deprecated/unimplemented modes. Turn interpolation mode into a gobject
property. Update docs and examples.
Stefan Sauer [Mon, 19 Dec 2011 10:13:45 +0000 (11:13 +0100)]
controlsources: refactor interpolation control source
Move most of the code to a GstTimedValueControlSource. Split out the trigger
'interpolation mode' to a new control source class. Move tests and examples to
new api. Update docs.
Fixes #610338
Stefan Sauer [Mon, 19 Dec 2011 21:01:02 +0000 (22:01 +0100)]
controlsource: clean up lfo control source
Remove parent_class and use var from G_DEFINE_TYPE macro. Remove unused dispose
implementation.
Wim Taymans [Mon, 19 Dec 2011 16:00:18 +0000 (17:00 +0100)]
memory: make subclasses add other flags
Add GST_MAP_FLAG_LAST so that implementations can add additional flags when
mapping memory.
Tim-Philipp Müller [Wed, 14 Dec 2011 12:13:36 +0000 (12:13 +0000)]
pad: allow NULL as filter caps argument with query_caps()
https://bugzilla.gnome.org/show_bug.cgi?id=666154
Tim-Philipp Müller [Mon, 12 Dec 2011 12:11:40 +0000 (12:11 +0000)]
elementfactory: use new 'transfer floating' annotation for gst_element_factory_make()
Requires gobject-introspection 1.31.1 (older versions will
error out with that).
https://bugzilla.gnome.org/show_bug.cgi?id=664099
Tim-Philipp Müller [Mon, 12 Dec 2011 12:09:02 +0000 (12:09 +0000)]
po: update languages
Tim-Philipp Müller [Mon, 12 Dec 2011 12:00:16 +0000 (12:00 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11
Sebastian Dröge [Mon, 12 Dec 2011 10:54:56 +0000 (11:54 +0100)]
glib-compat: Add license boilerplate for LGPL
Tim-Philipp Müller [Sat, 10 Dec 2011 01:16:05 +0000 (01:16 +0000)]
po: update translations
Wim Taymans [Sat, 10 Dec 2011 10:08:22 +0000 (11:08 +0100)]
basesrc: say we handle RECONFIGURE event
We handle the RECONFIGURE event so return TRUE from the event handler.
Wim Taymans [Sat, 10 Dec 2011 10:07:02 +0000 (11:07 +0100)]
pad: don't forward on NULL pads
The iterator can return NULL in some cases, avoid pushing on those
NULL pads.
Stefan Sauer [Wed, 7 Dec 2011 15:01:07 +0000 (16:01 +0100)]
preset: allow applications to specify an extra preset dir
An extra application preset dir help to organize presets created for special
purposes. Fixes #660760
API: gst_preset_set_app_dir(), gst_preset_get_app_dir()
Wim Taymans [Fri, 9 Dec 2011 09:01:16 +0000 (10:01 +0100)]
basesrc: stop when negotiation fails
Tim-Philipp Müller [Thu, 8 Dec 2011 17:32:19 +0000 (17:32 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11
Sebastian Dröge [Thu, 8 Dec 2011 17:00:00 +0000 (18:00 +0100)]
basetransform: Fix code path to come up with possible caps if incompatible caps are provided to buffer_alloc()
Previous code could almost never work and this should be slightly
better.
Sebastian Dröge [Thu, 8 Dec 2011 16:21:30 +0000 (17:21 +0100)]
basetransform: Fall back to upstream provided caps if suggested caps are not supported by the sinkpad
Sebastian Dröge [Thu, 8 Dec 2011 16:07:05 +0000 (17:07 +0100)]
basetransform: Fall back to upstream provided caps if fixation of suggested caps failed
Sebastian Dröge [Thu, 8 Dec 2011 16:02:28 +0000 (17:02 +0100)]
basetransform: Refactor gst_base_transform_buffer_alloc() code
Don't check if upstream provided caps are compatible with upstream
and don't try to fixate these caps. They must be fixated in any case.
Tim-Philipp Müller [Thu, 8 Dec 2011 00:49:17 +0000 (00:49 +0000)]
win32: update .def files for latest API additions
Tim-Philipp Müller [Thu, 8 Dec 2011 00:47:46 +0000 (00:47 +0000)]
tests: fix up selector test after merge
Tim-Philipp Müller [Thu, 8 Dec 2011 00:39:10 +0000 (00:39 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
gst/gstindexfactory.c
libs/gst/base/gstbasetransform.c
plugins/elements/gstfakesink.c
plugins/elements/gstfakesrc.c
plugins/elements/gstidentity.c
plugins/elements/gstinputselector.c
plugins/elements/gstoutputselector.c
Note: did not merge any of the basetransform changes from 0.10.
Vincent Penquerc'h [Wed, 7 Dec 2011 17:57:49 +0000 (17:57 +0000)]
baseparse: do not use a byte value instead of a time value when bisecting
This fixes FLAC seeking on some FLAC files.
Sebastian Dröge [Wed, 7 Dec 2011 10:04:42 +0000 (11:04 +0100)]
selector: Push newsegment events before any buffers are pushed in the unit test
Sebastian Dröge [Wed, 7 Dec 2011 10:01:49 +0000 (11:01 +0100)]
inputselector: Don't send a NEWSEGMENT event if a buffer arrived before the segment was configured
Sebastian Dröge [Wed, 7 Dec 2011 10:01:31 +0000 (11:01 +0100)]
outputselector: Don't send last segment/buffer when no segment was configured yet
Sebastian Dröge [Wed, 7 Dec 2011 08:50:40 +0000 (09:50 +0100)]
basetransform: If suggested caps are not compatible with upstream try to come up with compatible caps
Fixes bug #662199.
Tim-Philipp Müller [Tue, 6 Dec 2011 23:52:53 +0000 (23:52 +0000)]
indexfactory: fix memory leak
Introduced by commit
bd302bb6 pluginfeature: avoid duplicating feature->name
https://bugzilla.gnome.org/show_bug.cgi?id=459466
https://bugzilla.gnome.org/show_bug.cgi?id=665703
Wim Taymans [Tue, 6 Dec 2011 17:09:13 +0000 (18:09 +0100)]
pad: put new event probe type next to other event types
Matej Knopp [Mon, 5 Dec 2011 20:20:52 +0000 (21:20 +0100)]
Add GST_PAD_PROBE_TYPE_HANDLE_FLUSH
Sebastian Dröge [Tue, 6 Dec 2011 13:55:15 +0000 (14:55 +0100)]
fakesink: Make event/buffer verbose output consistent with identity
Sebastian Dröge [Tue, 6 Dec 2011 13:55:11 +0000 (14:55 +0100)]
identity: Print buffer flags in the verbose output
Sebastian Dröge [Tue, 6 Dec 2011 13:53:47 +0000 (14:53 +0100)]
fakesrc: Make event/buffer verbose output consistent with identity and print buffer flags
Stefan Sauer [Tue, 6 Dec 2011 13:46:46 +0000 (14:46 +0100)]
tests: don't include glib/gthread.h directly
The g_thread functions are available after including glib.h as per docs.
Stefan Sauer [Tue, 6 Dec 2011 13:23:39 +0000 (14:23 +0100)]
controller: port the test to new api as well
Stefan Sauer [Tue, 6 Dec 2011 13:23:12 +0000 (14:23 +0100)]
controller: fix gpointer vs. gpointer* mess up
Wim Taymans [Tue, 6 Dec 2011 13:24:15 +0000 (14:24 +0100)]
pad: remove GST_FLOW_RESEND
It is unused and undefined.
Wim Taymans [Tue, 6 Dec 2011 13:01:50 +0000 (14:01 +0100)]
basesrc: add async start option
Add a method to enable async start behaviour. The subclass can then complete the
start operation from any other thread by caling gst_base_src_start_complete().
The base class can wait for the start to complete with
gst_base_src_start_wait().
Wim Taymans [Tue, 6 Dec 2011 12:58:00 +0000 (13:58 +0100)]
fix compilation
Wim Taymans [Tue, 6 Dec 2011 12:47:29 +0000 (13:47 +0100)]
filesrc: cleanup error path
Wim Taymans [Tue, 6 Dec 2011 12:39:05 +0000 (13:39 +0100)]
fix compilation
Stefan Sauer [Tue, 6 Dec 2011 07:48:57 +0000 (08:48 +0100)]
controller: use _OBJECT logging variants more
Stefan Sauer [Tue, 6 Dec 2011 07:35:57 +0000 (08:35 +0100)]
controller: remove GstValueArray
Instead pass the values as arguments. This simplifies that code and helps
bindings.
Stefan Sauer [Tue, 6 Dec 2011 07:35:10 +0000 (08:35 +0100)]
controller: remove gst_object_get_value_arrays
One can easilly loop over the controlled properties manually. This is step 1 in
removing GstValueArray.
Matej Knopp [Sun, 4 Dec 2011 06:33:32 +0000 (07:33 +0100)]
correct return value in gst_push_sticky
Wim Taymans [Mon, 5 Dec 2011 10:07:24 +0000 (11:07 +0100)]
make some macros into inline functions
Wim Taymans [Mon, 5 Dec 2011 09:24:34 +0000 (10:24 +0100)]
make some more macros as inline functions
Make some macros as inline functions for added type checking.
USe new gst_caps_take() in typefind
Wim Taymans [Mon, 5 Dec 2011 09:23:04 +0000 (10:23 +0100)]
docs: remove some old methods
Tim-Philipp Müller [Sun, 4 Dec 2011 21:19:04 +0000 (21:19 +0000)]
check: allow non-joinable threads in private g_thread_create() copy
Looks like some tests use non-joinable threads after all.
Tim-Philipp Müller [Sun, 4 Dec 2011 15:42:07 +0000 (15:42 +0000)]
docs: remove removed tag list functions from docs as well
Tim-Philipp Müller [Sun, 4 Dec 2011 15:38:09 +0000 (15:38 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
gst/gstobject.h
libs/gst/check/gstcheck.h
libs/gst/controller/gstcontroller.c
plugins/elements/gstidentity.c
tools/gst-xmlinspect.c
Tim-Philipp Müller [Sun, 4 Dec 2011 14:38:26 +0000 (14:38 +0000)]
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here in 0.10.
Tim-Philipp Müller [Sun, 4 Dec 2011 13:35:38 +0000 (13:35 +0000)]
Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We can't change most of
these in 0.10 because they're part of our API and ABI.
Tim-Philipp Müller [Sun, 4 Dec 2011 13:09:53 +0000 (13:09 +0000)]
benchmarks: g_thread_create() is deprecated in GLib master, use g_thread_try_new() instead
Tim-Philipp Müller [Sun, 4 Dec 2011 13:04:35 +0000 (13:04 +0000)]
net: initialise GError variables to NULL
Edward Hervey [Sun, 4 Dec 2011 10:43:10 +0000 (11:43 +0100)]
win32: Update defs files
Edward Hervey [Sun, 4 Dec 2011 10:42:39 +0000 (11:42 +0100)]
gstquery: Fix unitialized variable
Edward Hervey [Sun, 4 Dec 2011 10:32:57 +0000 (11:32 +0100)]
gstsegment: Initialize with proper type
Tim-Philipp Müller [Sat, 3 Dec 2011 17:40:53 +0000 (17:40 +0000)]
g_thread_init() is deprecated in glib master
It's not needed any longer.
Tim-Philipp Müller [Sat, 3 Dec 2011 16:02:36 +0000 (16:02 +0000)]
tagsetter: update for thread API deprecations in glib master
Tim-Philipp Müller [Sat, 3 Dec 2011 15:36:58 +0000 (15:36 +0000)]
taglist: update for thread API deprecations in glib master
Tim-Philipp Müller [Sat, 3 Dec 2011 15:18:21 +0000 (15:18 +0000)]
taglist: remove gst_tag_list_get_{char,uchar}
Those are unused and should never be used anywhere anyway
really.
Tim-Philipp Müller [Sat, 3 Dec 2011 14:06:58 +0000 (14:06 +0000)]
docs: remove some macros that no longer exist
Tim-Philipp Müller [Sat, 3 Dec 2011 13:58:51 +0000 (13:58 +0000)]
g_thread_create() is deprecated in GLib master, use g_thread_try_new() instead
Wim Taymans [Sat, 3 Dec 2011 06:06:11 +0000 (07:06 +0100)]
basesink: use dts and pts for sync
First use DTS, then fall back to PTS for synchronization.
Wim Taymans [Sat, 3 Dec 2011 06:01:45 +0000 (07:01 +0100)]
basesink: small cleanups
Wim Taymans [Sat, 3 Dec 2011 05:45:26 +0000 (06:45 +0100)]
basesink: merge preroll functions
Inline a function that is only called from one place to make things a little
easier to follow.
Wim Taymans [Sat, 3 Dec 2011 05:29:42 +0000 (06:29 +0100)]
basesink: more cleanups
Don't pass around the object type, we can find that very efficiently from the
object itself now.
Wim Taymans [Fri, 2 Dec 2011 22:13:23 +0000 (23:13 +0100)]
basesink: clean up method names
Wim Taymans [Fri, 2 Dec 2011 21:50:55 +0000 (22:50 +0100)]
basesink: merge render_object into chain
Merge the render_object code with the chain method. It is only called from there
and there are quite a few variables that can be reused to makes things less
confusing.
Wim Taymans [Fri, 2 Dec 2011 21:36:38 +0000 (22:36 +0100)]
basesink: remove obsolete code
Remove some more code now that the render_object ethod is only
called with buffers or bufferlsts.
Wim Taymans [Fri, 2 Dec 2011 21:20:08 +0000 (22:20 +0100)]
basesink: clean up event handling
Add new wait_eos vmethod to wait for the eos timeout before posting the EOS
message on the bus.
Add default event handler. Move the default event actions in there. Call the
event vmethod from the pad event handler. Subclasses are now supposed to chain
up to the parent event handler or unref the event and do their own thing.
Avoid passing unused parameters to functions.
Mark Nauwelaerts [Fri, 2 Dec 2011 12:19:38 +0000 (13:19 +0100)]
identity: unlock clock wait when appropriate
... notably FLUSH and state change to READY.
Wim Taymans [Fri, 2 Dec 2011 12:35:58 +0000 (13:35 +0100)]
basesink: small cleanup
Avoid passing around the segment.
Wim Taymans [Fri, 2 Dec 2011 12:28:18 +0000 (13:28 +0100)]
basesink: remove clip_segment
We only need one segment now that the preroll queue is gone.
Wim Taymans [Fri, 2 Dec 2011 11:42:50 +0000 (12:42 +0100)]
basesink: more cleanups
Remove some unneeded functions, inline the code.
Remove the queue_object functions, we can proceed with the rendering
immediately.
Wim Taymans [Fri, 2 Dec 2011 11:20:02 +0000 (12:20 +0100)]
basesink: remove obsolete code
Remove the preroll queue and proceed directly to the rendering of objects.
Tim-Philipp Müller [Thu, 1 Dec 2011 23:35:26 +0000 (23:35 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
gst/gstbus.c
gst/gstevent.c
libs/gst/base/gstbasetransform.c
Wim Taymans [Thu, 1 Dec 2011 17:50:32 +0000 (18:50 +0100)]
taglist: make some tags of type GstSample
Make the image and attachment tags of type GstSample so that we can include
extra caps and info along with the buffer data.
Wim Taymans [Thu, 1 Dec 2011 17:49:34 +0000 (18:49 +0100)]
sample: remove const
The writability of the structure is ensured by the refcount of the parent
miniobject and we're fine if the parent is writable.
Wim Taymans [Thu, 1 Dec 2011 15:46:06 +0000 (16:46 +0100)]
basesink: last-buffer -> last-sample
Rename the last-buffer property to last-sample and make it return the new
GstSample type so that we can include caps and timing info in one nice bundle.
Wim Taymans [Thu, 1 Dec 2011 15:37:46 +0000 (16:37 +0100)]
sample: add new sample miniobject
Add a new simple miniobject that is a combination of a GstBuffer, GstCaps,
GstSegment and other arbitrary info organized in a GstStructure. This object can
be used to exchange samples between an element and the application or for
storing album art in tags etc.
Stefan Sauer [Thu, 1 Dec 2011 15:25:07 +0000 (16:25 +0100)]
bus: use GST_MESSAGE_SOURCE_NAME() which also takes care of src=NULL.
Wim Taymans [Thu, 1 Dec 2011 14:35:26 +0000 (15:35 +0100)]
basetrans: add some more debug
Wim Taymans [Thu, 1 Dec 2011 14:35:02 +0000 (15:35 +0100)]
basesrc: add some more debug
Wim Taymans [Thu, 1 Dec 2011 14:34:06 +0000 (15:34 +0100)]
buffer: add copy flag for meta
Add a flag to control if the meta should be copied or not instead of always
copying.
Wim Taymans [Tue, 29 Nov 2011 18:08:41 +0000 (19:08 +0100)]
basesink: remove old property