Stefan Sauer
39d6b7462f
controller: move GValue handling from control-sources to -binding
...
ControlSources are now gdouble based. A control source is mapped to a
particullar GObject property using a ControlBinding.
2011-12-25 20:48:14 +01:00
Stefan Sauer
a80401b22c
controller: move GstControlledProperty into a separate class
...
Add a GstControlBinding class. This is a preparation for making the
controlsources generate double valued control curves and do the gparamspec
mapping in the control binding. Now the API in GstObject is again mostly
for convenience.
2011-12-25 18:50:45 +01:00
Tim-Philipp Müller
b193d03c8a
collectpads2: fix up compilation after merge
2011-12-25 12:13:57 +00:00
Tim-Philipp Müller
f6a4af20b2
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
libs/gst/base/gstbasetransform.c
libs/gst/controller/gstinterpolationcontrolsource.c
libs/gst/controller/gstlfocontrolsource.c
plugins/elements/gstfilesrc.c
Dit not merge controller or basetransform changes.
2011-12-25 11:58:12 +00:00
Tim-Philipp Müller
ff59f3a553
controller: fix GType name of interpolation mode enum
2011-12-22 11:08:42 +00:00
Sebastian Dröge
2f93cee988
basetransform: If the filtered peer caps are already empty error out early
2011-12-20 14:37:09 +01:00
Stefan Sauer
503b739b23
controller: cleanup interpolation modes
...
Remove deprecated/unimplemented modes. Turn interpolation mode into a gobject
property. Update docs and examples.
2011-12-19 23:36:26 +01:00
Stefan Sauer
2c7a8b924a
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
2011-12-19 22:52:30 +01:00
Stefan Sauer
9c3c0fb251
controlsource: clean up lfo control source
...
Remove parent_class and use var from G_DEFINE_TYPE macro. Remove unused dispose
implementation.
2011-12-19 22:52:29 +01:00
Mark Nauwelaerts
28e9d735bb
collectpads2: add convenience clipping function
...
... which also converts to running time; useful for typical muxer.
2011-12-19 17:45:25 +01:00
Mark Nauwelaerts
78565da18b
basetransform: do not delay sparse stream newsegment updates
2011-12-19 17:39:11 +01:00
Mark Nauwelaerts
b3886b7935
basetransform: suggestion compatible with upstream is not much of a suggestion
...
... in that upstream is already complying with that suggestion.
Fixes #666174 .
2011-12-19 12:34:51 +01:00
Mark Nauwelaerts
eb79c0a835
collectpads2: delay collecting buffer if a pad newly set waiting
...
... as commented; make code correspond to it (again).
2011-12-15 16:51:49 +01:00
Stefan Sauer
26e8e336cc
controller: user the parent_class vars from G_DEFINE_TYPE
2011-12-15 16:19:41 +01:00
Matej Knopp
f4040d3f6b
baseparse: Clear queued frames with other queues
2011-12-12 13:37:25 +01:00
Wim Taymans
768e28e1c4
basesrc: say we handle RECONFIGURE event
...
We handle the RECONFIGURE event so return TRUE from the event handler.
2011-12-10 11:08:22 +01:00
Wim Taymans
e32fa21071
basesrc: stop when negotiation fails
2011-12-09 10:01:16 +01:00
Sebastian Dröge
a6bb6d0fc3
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.
2011-12-08 18:11:43 +01:00
Sebastian Dröge
57573d8705
basetransform: Fall back to upstream provided caps if suggested caps are not supported by the sinkpad
2011-12-08 18:11:43 +01:00
Sebastian Dröge
aad7225eb5
basetransform: Fall back to upstream provided caps if fixation of suggested caps failed
2011-12-08 18:11:43 +01:00
Sebastian Dröge
26a1ac0ce7
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.
2011-12-08 18:11:42 +01:00
Tim-Philipp Müller
eaa2d81474
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.
2011-12-08 00:39:10 +00:00
Vincent Penquerc'h
e7b3305f70
baseparse: do not use a byte value instead of a time value when bisecting
...
This fixes FLAC seeking on some FLAC files.
2011-12-07 17:57:49 +00:00
Sebastian Dröge
7fb67e9d6f
basetransform: If suggested caps are not compatible with upstream try to come up with compatible caps
...
Fixes bug #662199 .
2011-12-07 09:51:42 +01:00
Wim Taymans
ebc25e895f
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().
2011-12-06 14:01:50 +01:00
Wim Taymans
1ac7160031
fix compilation
2011-12-06 13:39:05 +01:00
Stefan Sauer
4b29d4f29a
controller: remove GstValueArray
...
Instead pass the values as arguments. This simplifies that code and helps
bindings.
2011-12-06 08:35:57 +01:00
Wim Taymans
be0e58a637
make some more macros as inline functions
...
Make some macros as inline functions for added type checking.
USe new gst_caps_take() in typefind
2011-12-05 10:24:34 +01:00
Tim-Philipp Müller
8811cbc5aa
check: allow non-joinable threads in private g_thread_create() copy
...
Looks like some tests use non-joinable threads after all.
2011-12-04 21:20:07 +00:00
Tim-Philipp Müller
a1daf846f3
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
2011-12-04 15:38:09 +00:00
Tim-Philipp Müller
2666450864
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.
2011-12-04 14:38:26 +00:00
Tim-Philipp Müller
5889260d5a
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.
2011-12-04 13:35:38 +00:00
Tim-Philipp Müller
1f14a425d0
net: initialise GError variables to NULL
2011-12-04 13:04:35 +00:00
Tim-Philipp Müller
fef18639db
g_thread_init() is deprecated in glib master
...
It's not needed any longer.
2011-12-03 17:40:53 +00:00
Tim-Philipp Müller
ca179625f8
g_thread_create() is deprecated in GLib master, use g_thread_try_new() instead
2011-12-03 13:58:51 +00:00
Wim Taymans
543b56c78f
basesink: use dts and pts for sync
...
First use DTS, then fall back to PTS for synchronization.
2011-12-03 07:06:11 +01:00
Wim Taymans
e1b64d971e
basesink: small cleanups
2011-12-03 07:01:45 +01:00
Wim Taymans
f62c3922c2
basesink: merge preroll functions
...
Inline a function that is only called from one place to make things a little
easier to follow.
2011-12-03 06:45:46 +01:00
Wim Taymans
ee15bd7287
basesink: more cleanups
...
Don't pass around the object type, we can find that very efficiently from the
object itself now.
2011-12-03 06:29:42 +01:00
Wim Taymans
64bd0b6416
basesink: clean up method names
2011-12-02 23:13:23 +01:00
Wim Taymans
4be2edeb50
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.
2011-12-02 22:50:55 +01:00
Wim Taymans
cc8359259b
basesink: remove obsolete code
...
Remove some more code now that the render_object ethod is only
called with buffers or bufferlsts.
2011-12-02 22:36:38 +01:00
Wim Taymans
0e38f0dad0
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.
2011-12-02 22:20:08 +01:00
Wim Taymans
b6335d9505
basesink: small cleanup
...
Avoid passing around the segment.
2011-12-02 13:35:58 +01:00
Wim Taymans
bf4e681f5e
basesink: remove clip_segment
...
We only need one segment now that the preroll queue is gone.
2011-12-02 13:28:18 +01:00
Wim Taymans
621aef1033
basesink: more cleanups
...
Remove some unneeded functions, inline the code.
Remove the queue_object functions, we can proceed with the rendering
immediately.
2011-12-02 12:42:50 +01:00
Wim Taymans
68cc637e87
basesink: remove obsolete code
...
Remove the preroll queue and proceed directly to the rendering of objects.
2011-12-02 12:20:02 +01:00
Wim Taymans
8acc2d9dc7
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.
2011-12-01 16:46:06 +01:00
Wim Taymans
a275d2e863
basetrans: add some more debug
2011-12-01 15:35:26 +01:00
Wim Taymans
d893040aec
basesrc: add some more debug
2011-12-01 15:35:02 +01:00