Tim-Philipp Müller
ab2d45283e
basesink: make default query function name show up in gst-inspect
2011-10-28 09:28:14 +01:00
Stefan Sauer
2e6b434730
logging: more logging and prefer human readable details over memory locations
2011-10-18 15:24:21 +02:00
Nicolas Dufresne
f0219b327d
basesink: make it easy to override the pad query
...
Add a vmethod to handle the pad query.
Install a default handler for the pad query.
Use the new query function in filesink
2011-09-08 14:46:59 +02:00
Piotr Fusik
14f5518f3d
docs, gst: typo fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=658449
2011-09-07 18:03:17 +01:00
Mark Nauwelaerts
c1988b7e55
basesink: ensure start_time reset upon flush
2011-08-23 18:21:38 +02:00
Mark Nauwelaerts
27313d05c1
basesink: unset PLAYING transition flag when transition completed
2011-07-13 11:40:26 +02:00
Mark Nauwelaerts
c8b9275578
basesink: try harder to arrange increasing position reporting
...
... rather than having a momentary decreasing one while transitioning
to PLAYING.
Fixes #628021 .
2011-07-11 11:14:02 +02:00
Philip Jägenstedt
9f0e066102
basesink: Fix typo in documentation
...
Fixes #652577 .
2011-06-17 01:54:31 -07: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
Ole André Vadla Ravnås
e7bf5484c7
base: Fix pad callbacks so they handle when parent goes away
...
1) We need to lock and get a strong ref to the parent, if still there.
2) If it has gone away, we need to handle that gracefully.
This is necessary in order to safely modify a running pipeline. Has been
observed when a streaming thread is doing a buffer_alloc() while an
application thread sends an event on a pad further downstream, and from
within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing
while the streaming thread has its buffer_alloc() in progress.
2011-04-13 17:39:05 +02:00
Stefan Kost
71dcd52cc0
basesink: print flow return as a name in debug log
2011-03-24 18:32:20 +02:00
Wim Taymans
f8828eace6
basesink: improve duration calculation
...
Keep track of the average distance between incomming timestamps and
use that to estimate the frame duration when buffers have no duration set on
them.
2011-02-14 15:17:45 +01:00
Wim Taymans
79665e8247
basesink: improve rate calculation
...
When there is no duration on input buffers, assume the rate is 1.0
instead of (the undefined) 0.0.
2011-02-14 15:17:44 +01:00
Wim Taymans
9661a713ba
basesink: improve average duration calculation
...
Improve the calculation of the duration. When we have no input duration set on
the input buffers stop is set to start and then we end up using a 0 duration in
the average calculation.
2011-02-14 15:17:44 +01:00
Wim Taymans
dc0120fe28
basesink: rename variable
...
Rename an internal variable to better reflact what its value means.
2011-02-14 15:17:44 +01:00
Wim Taymans
c8d1abdd00
basesink: fix some comments
2011-02-10 15:21:46 +01:00
Wim Taymans
d19f40c716
basesink: keep track of earliest QoS timestamp
...
Keep track of the earliest allowed timestamp according to the latest
QoS report and drop buffers before that time. Activate this filter
when throttling is enabled. We could later also activate this in the
other QoS cases.
See #638891
2011-02-10 15:21:46 +01:00
Wim Taymans
dad43fa004
basesink: use new QoS type
...
Use the new QoS type and send throttling QoS messages.
2011-02-10 15:21:46 +01:00
Wim Taymans
4ee5c61a2d
basesink: add property to configure a throttle-time
...
Add a property to configure the throttle time on a sink. The
property is not yet used.
See #638891
2011-02-10 15:21:45 +01:00
Tim-Philipp Müller
655451db54
basesrc, basesink: add some FIXMEs for the type of the blocksize property
2011-01-02 16:59:18 +00:00
Wim Taymans
ef44d4b539
basesink: also preroll async=false sinks
...
Also preroll async=false sinks after a flush.
2010-12-28 16:23:32 +01:00
Wim Taymans
041d33e5f5
basesink: fix typo
2010-12-21 10:35:40 +01:00
Wim Taymans
6da39bf508
basesink: improve last_stop calculation
...
Only update the last_stop value when we had a valid stop position for the
clipping or else the clipping code assumes the stop position extends to the end
of the segment, which makes the position reporting return weird values.
2010-12-14 19:00:14 +01:00
Wim Taymans
4fd63f0ce2
basesink: fix object type handling in queued preroll
...
Factor out the method to get the object type.
When preroll-queue-len > 0, use the right object type instead of ignoring
buffer-lists.
2010-12-14 15:54:41 +01:00
Stefan Kost
1de8b60034
docs: fix wrong use of Since: keyword
2010-12-08 12:17:35 +02:00
Tim-Philipp Müller
686b16756d
docs: libgstbase: more gobject introspection annotations
...
Many of these are superfluous and were added for clarity.
2010-12-07 18:37:04 +00:00
Edward Hervey
27c0bc93b7
basesink: Don't forget to unref the cached ClockId
2010-12-05 15:58:48 +01:00
Wim Taymans
a813aad0ac
basesink: rework position reporting code
...
Unify the different position reporting code paths to make it more
understandable.
Use start_time to get more accurate position reporting in paused.
Fix unit tests for more accurate reporting.
2010-12-02 19:10:46 +01:00
Wim Taymans
79570f49dc
basesink: perform wait_preroll in a while loop
...
We need to continue calling wait_preroll() as long as the need_preroll variable
is true.
2010-12-02 19:10:45 +01:00
Wim Taymans
9076d5688f
basesink: also preroll after a flush with async=false
...
Make sure to preroll after a flush even when we are async=false.
Add unit test.
Fixes #634965
2010-12-02 19:10:45 +01:00
Edward Hervey
ece40dacbc
basesink: Re-using GstClockID instead of constantly recreating one
...
Makes _sink_wait_clock at least 2 times faster.
https://bugzilla.gnome.org/show_bug.cgi?id=632778
2010-12-02 19:04:56 +01:00
Edward Hervey
7115b77aab
basesink: Pass along miniobject type through various functions
...
Avoids doing useless GST_IS_*
https://bugzilla.gnome.org/show_bug.cgi?id=632778
2010-12-02 19:04:56 +01:00
Edward Hervey
606e59468d
basesink: Switch enable_last_buffer to an atomic int
...
Avoids having to take a lock to read/write it.
https://bugzilla.gnome.org/show_bug.cgi?id=632778
2010-12-02 19:04:56 +01:00
Mark Nauwelaerts
21c5064783
basesink: recompute correct running time for buffer ending flushing step
...
Prevents delaying/hanging when resuming PLAYING.
Fixes #632433 .
2010-10-20 18:46:39 +02:00
Stefan Kost
a11b047d00
basesink: don't take preroll-lock in get_property
...
Use atomic ops to read and write more properties. Taking the preroll lock in get_property
can lock up applications reading the property during preroll.
2010-10-05 12:30:34 +03:00
Wim Taymans
c9c9894552
basesink: format negative values better
...
Format negative values properly in the debug log.
2010-10-04 15:56:59 +02:00
Wim Taymans
29e23e9142
basesink: improve adjust_time()
...
Add some more comments.
Make sure we don't end up with negative timestamps.
2010-09-24 12:22:33 +02:00
Havard Graff
54a5871434
basesink: renderdelay needs to be subtracted in adjust_time()
...
latency is already sink-latency + render-delay, and here we only
want to deal with the sink-latency.
Fixes #630436
2010-09-24 12:16:48 +02:00
Sebastian Dröge
2dfb0d2772
base: Stop using GST_FLOW_IS_FATAL()
...
And document the special handling of WRONG_STATE.
2010-08-27 16:59:09 +02:00
Stefan Kost
2237af4b6b
debug: logging improvements
...
Use the event serialisation. Log formats name instead of number.
2010-08-05 10:31:50 +03:00
Sebastian Dröge
249c4c18d0
basesink: Implement GstElement::get_query_types()
2010-07-16 17:26:50 +02:00
Sebastian Dröge
b2e7c4bd45
basesink: Only answer the SEGMENT query in pull mode
...
Otherwise the element handling the seeks should answer this query.
Fixes bug #623622 .
2010-07-16 17:26:31 +02:00
Alessandro Decina
3a553f4eda
basesink: add accessors for the enable-last-buffer property.
...
API: gst_base_sink_set_last_buffer_enabled
API: gst_base_sink_is_last_buffer_enabled
2010-07-06 16:39:18 +02:00
Alessandro Decina
f079ff3f20
basesink: add new enable-last-buffer property.
...
Add a new enable-last-buffer property. When false, it disables storing the last
received buffer in basesink::last-buffer. This can be useful in cases where
buffers need to be released asap.
API: GstBaseSink::enable-last-buffer
2010-07-06 12:38:21 +02:00
Sebastian Dröge
a15344515a
basesink: Initialize jitter to prevent printing an uninitialized variable if waiting for the clock failed
2010-06-17 13:20:13 +02:00
Sebastian Dröge
83929a5849
basesink: Make sure we have a valid object to render in _render_object()
2010-06-13 18:05:41 +02:00
Philippe Normand
6b8baaed50
basesink: Make gst_base_sink_query return TRUE if the segment query succeeded.
...
Fixes bug #620490 .
2010-06-03 17:40:45 +02:00
Wim Taymans
3d72274b19
basesink: add jitter to debug output
2010-05-18 18:38:14 +02:00
Stefan Kost
c96dec2a06
basesink: implement percentage position and duration queries
...
If upstream does not handle them, then implement those ourself.
2010-04-30 10:03:38 +03:00
Stefan Kost
c29e34113f
basesink: use gst_pad_peer_query instead of reinventing.
2010-04-30 10:03:38 +03:00