Wim Taymans
d33909302e
basetransform: remove some more code
...
Remove some more unused code from basetransform.
Prepare for implementing bufferpools.
2011-05-20 16:01:57 +02:00
Sebastian Dröge
ce216c1406
Merge branch 'master' into 0.11
2011-05-20 13:06:57 +02:00
Sebastian Dröge
1d57e46dbd
basesink: Only reinit the cached GstClockID if it is for the same clock
...
The clock might have changed since the clock ID was created and in
that case we have to request a new one.
2011-05-20 13:05:04 +02:00
Sebastian Dröge
a46c9c2a62
event: Make SEGMENT event parsing API more consistent with the others
2011-05-18 16:56:43 +02:00
Wim Taymans
ad0693f47d
basetransform: relax caps check
...
Also run the caps transform function on ANY caps, like we used to do before.
This makes sure that capsfilter has a chance to filter ANY caps as well.
2011-05-18 16:49:28 +02:00
Wim Taymans
e39182a085
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstminiobject.c
gst/gstpad.c
gst/gstpad.h
gst/gstplugin.h
libs/gst/base/gstbaseparse.c
2011-05-18 13:14:57 +02:00
Mark Nauwelaerts
35567592ef
baseparse: maintain frame state during frame parsing round
...
See #650093 .
2011-05-18 09:49:35 +02:00
Mark Nauwelaerts
af5061e943
baseparse: provide latency query support
2011-05-18 09:49:22 +02:00
Mark Nauwelaerts
82a6cb39ae
baseparse: make minimum frame size handling more efficient and convenient
...
While some formats allow subclass to determine a specific subsequent
needed frame size, others may to need to scan for markers and can only
request 'additional data' by whatever reasonable available step.
In push mode, trying to minimize additional latency leads to step size
being the next input buffer. In pull mode, any reasonable step size
(such as already used by buffer caching) can be applied.
2011-05-18 09:49:12 +02:00
Mark Nauwelaerts
ee3344824c
baseparse: set correct buffer size
2011-05-18 09:49:02 +02:00
Sebastian Dröge
5f2cd2b0a3
base: Update for caps/pad template related API changes
2011-05-17 13:14:12 +02:00
Sebastian Dröge
3d2127f865
Revert "query: allow _make_writable on query handlers"
...
This reverts commit cf4fbc005c
.
This change did not improve the situation for bindings because
queries are usually created, then directly passed to a function
and not stored elsewhere, and the writability problem with
miniobjects usually happens with buffers or caps instead.
2011-05-17 11:21:41 +02:00
Wim Taymans
53e4d1a007
basetransform: fix buffer refcounting
...
When we fail to allocate an output buffer, set the buffer pointer to NULL or
else the calling function will try to unref it.
Remove some old comments
2011-05-16 18:48:20 +02:00
Wim Taymans
115c34badd
basesink: handle more formats
...
Don't hardcode GST_FORMAT_TIME in places, we can work with many formats.
2011-05-16 17:09:06 +02:00
Sebastian Dröge
b935a814d9
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
docs/gst/gstreamer-sections.txt
gst/gstbin.c
gst/gstelement.c
gst/gstelement.h
gst/gstghostpad.c
gst/gstminiobject.c
gst/gstminiobject.h
libs/gst/base/gstbasesrc.c
libs/gst/base/gstbasetransform.c
plugins/elements/gstinputselector.c
tests/check/gst/gstminiobject.c
2011-05-16 16:53:04 +02:00
Sebastian Dröge
bdf9022861
base: Improve negotiation with new getcaps() filter
2011-05-16 15:33:10 +02:00
Wim Taymans
bdbc069348
Rework GstSegment handling
...
Improve GstSegment, rename some fields. The idea is to have the GstSegment
structure represent the timing structure of the buffers as they are generated by
the source or demuxer element.
gst_segment_set_seek() -> gst_segment_do_seek()
Rename the NEWSEGMENT event to SEGMENT.
Make parsing of the SEGMENT event into a GstSegment structure.
Pass a GstSegment structure when making a new SEGMENT event. This allows us to
pass the timing info directly to the next element. No accumulation is needed in
the receiving element, all the info is inside the element.
Remove gst_segment_set_newsegment(): This function as used to accumulate
segments received from upstream, which is now not needed anymore because the
segment event contains the complete timing information.
2011-05-16 11:37:52 +02:00
Sebastian Dröge
e8688b62b2
basetransform: When trying to fixate the sink suggestion prefer its structure order
2011-05-14 11:39:34 +02:00
Sebastian Dröge
f56c6e1225
basetransform: In getcaps() prefer the caps order and caps of downstream if possible
2011-05-14 11:39:34 +02:00
Sebastian Dröge
b4bed6e09e
basetransform: Prefer caps order given by the subclass of the template caps order
2011-05-14 11:39:34 +02:00
Vincent Penquerc'h
03050fd71d
basesrc: do not set first buffer timestamp to 0 for live sources
...
Doing so avoids a large timestamp gap between first and second buffer
for live sources which take time to start up.
The first buffer now has a "live" timestamp based on the running time,
as other buffers do.
https://bugzilla.gnome.org/show_bug.cgi?id=649369
2011-05-12 18:10:14 +01:00
Wim Taymans
a59bc0ab02
basetransform: remove obsolete code
...
Remove some obsolete code.
Don't try to reconfigure when we don't have sink caps.
2011-05-11 18:09:03 +02:00
Sebastian Dröge
ef673656b7
basetransform: Implement support for pad reconfiguration again
2011-05-11 15:26:02 +02:00
Wim Taymans
cf4fbc005c
query: allow _make_writable on query handlers
...
Pass a GstQuery ** to the query handlers so that they can make the query
writable before using a setter on it.
Port code to new API.
2011-05-10 18:36:33 +02:00
Wim Taymans
bd540bfb66
event: Hide the GstStructure
...
Hide the GstStructure of the event in the implementation specific part so that
we can change it.
Add methods to check and make the event writable.
Add a new method to get a writable GstStructure of the element.
Avoid directly accising the event structure.
2011-05-10 11:50:16 +02:00
Wim Taymans
7f24a48387
event: _qos_full -> _qos
2011-05-09 18:48:55 +02:00
Wim Taymans
c07b57fc05
segment: remove _full version
...
Rename the _full versions of the functions to the normal function names.
2011-05-09 17:51:07 +02:00
Wim Taymans
d63829fc9a
segment: remove abs_rate from segment structure
...
Remove the abs_rate field from the segment structure, we can trivially compute
it when needed.
2011-05-09 16:39:13 +02:00
Wim Taymans
4eed658be1
basetransform: Use CAPs event
...
Use the caps event to configure basetransform.
Remove force_alloc hack, we don't need this in 0.11 with new upstream
negotiation.
Avoid getting some pad caps.
2011-05-09 15:08:51 +02:00
Wim Taymans
f127a416fa
basesink: add some more debug
2011-05-09 15:08:51 +02:00
Wim Taymans
24573211c6
Merge branch 'master' into 0.11
2011-05-08 13:14:55 +02:00
Wim Taymans
d34ca6140b
basesink: use CAPS event instead of setcaps function
2011-05-08 13:07:13 +02:00
Wim Taymans
ba6b915651
base: avoid using buffer caps
...
Comment all code using buffer caps.
Rework capsfilter code a little.
Fix some unit tests
2011-05-08 12:46:17 +02:00
Tim-Philipp Müller
dccde2652f
baseparse: don't post loads of empty taglists
...
Only post bitrate updates if there's something to post, don't
post empty taglists if nothing changed.
2011-05-06 23:44:15 +01:00
Wim Taymans
02e5feb2bf
pad: avoid using the old GST_PAD_CAPS
...
Don't use GST_PAD_CAPS but instead use the new gst_pad_get_current_caps()
method.
Avoid setting caps on buffers.
2011-05-06 19:04:54 +02:00
Wim Taymans
5f06f3b0ae
check: let the normal code unset caps
2011-05-06 17:39:08 +02:00
Wim Taymans
fb3da828e5
element: rename gst_element_lost_state_full()
...
Rename gst_element_lost_state_full() to gst_element_lost_state() and
remove the old method name.
2011-05-06 12:19:16 +02:00
Sebastian Dröge
0069dc08ec
basetransform: Don't get the parent twice in the setcaps function
2011-05-05 18:21:21 +02:00
Sebastian Dröge
aebe4a3c13
basetransform: In getcaps() prefer the caps order and caps of downstream if possible
2011-05-05 15:22:08 +02:00
Sebastian Dröge
a6c1cbe69a
basetransform: Prefer caps order given by the subclass of the template caps order
2011-05-05 15:20:10 +02:00
Sebastian Dröge
07f59f5404
basesrc: Use the reconfigure flag on the pad instead of the event
2011-05-05 15:20:02 +02:00
Sebastian Dröge
1cc95da945
basetransform: Use new reconfigure flag on the pads instead of the reconfigure event
2011-05-05 15:19:56 +02:00
Sebastian Dröge
0179530bf1
basesrc: Only renegotiate once after receiving a renegotiate event
...
Also make this threadsafe.
2011-05-05 15:04:16 +02:00
Thiago Santos
93904ef3ad
basesrc: Handle the new renegotiate event
...
Makes basesrc handle the new renegotiate event by using a
renegotiate flag.
2011-05-05 15:03:54 +02:00
Sebastian Dröge
24cef7aa2f
basetransform: Also call gst_base_transform_reconfigure() on renegotiate events
2011-05-05 15:02:56 +02:00
Thiago Santos
3baed25383
basetransform: Handle the new renegotiate event
...
Let basetransform push a renegotiate event upstream
when it gets a new suggestion
2011-05-05 15:02:46 +02:00
Wim Taymans
c4751ec8c1
Revert "context: use context on buffers instead of caps"
...
This reverts commit 9ef1346b1f
.
Way to much for one commit and I'm not sure we want to get rid of the pad caps
just like that. It's nice to have the buffer and its type in onw nice bundle
without having to drag the complete context with it.
2011-05-05 13:17:08 +02:00
Sebastian Dröge
de5ce36dd1
basetransform: Remove nowadays unused and uninitialized setcaps variable
2011-05-05 12:28:02 +02:00
Sebastian Dröge
65eafd9340
Merge branch 'master' into 0.11
...
Conflicts:
docs/gst/gstreamer-sections.txt
gst/gstelementfactory.c
gst/gstminiobject.c
2011-05-05 12:27:51 +02:00
Wim Taymans
9ef1346b1f
context: use context on buffers instead of caps
...
Put the srcpad context on buffers instead of caps. This allows us to associate
all the relevant info contained in events with a buffer.
2011-05-04 18:59:47 +02:00