Wim Taymans
cf4334fbfb
basesink: improve position reporting without clock
...
When no base time or when sync is disabled, use the same logic as
in paused to report position. The logic in PLAYING assumes we use the
clock.
2013-05-30 06:51:24 +02:00
Tim-Philipp Müller
4d1cb14c68
basetransform: remove 0.10-ism from docs
...
gst_buffer_pad_alloc() never existed, and gst_pad_alloc_buffer()
doesn't exist any more either, so don't mention it in the docs.
https://bugzilla.gnome.org/show_bug.cgi?id=694714
2013-05-24 23:01:09 +01:00
Sebastian Dröge
3e515099ec
basetransform: Return GST_FLOW_ERROR if the allocator did not allow to allocate a buffer
2013-05-24 14:37:37 +02:00
Sebastian Dröge
1319196349
basesrc: Add FIXME comment for unused assignment results
2013-05-08 08:52:25 +02:00
Sebastian Dröge
f27a3e12f6
baseparse: Only infer TS if PTS interpolation is enabled
...
Otherwise this is breaking timestamps of formats that
need reordering.
https://bugzilla.gnome.org/show_bug.cgi?id=597662
2013-04-23 11:49:15 +02:00
Sebastian Dröge
86b4e1841e
basesink: Don't set last_render_time if we're checking for a late buffer before ::prepare()
...
This makes sure that at least one buffer per second is rendered if buffers
are dropped before ::prepare. Without this change, at least one buffer per
second wouldn't be too late before ::prepare anymore but would be dropped
before ::render because of last_render_time being set before ::prepare
already.
2013-04-19 10:57:01 +02:00
Thiago Santos
1681a1b1e0
dataqueue: add gst_data_queue_peek
...
This function works just like gst_data_queue_pop, but it doesn't
remove the object from the queue.
Useful when inspecting multiple GstDataQueues to decide from which
to pop the element from.
Add: gst_data_queue_peek
2013-04-18 14:45:47 -03:00
Douglas Bagnall
39716e555b
GstCollectPads documentation: gst_collect_pads_read is gone.
2013-04-11 10:39:25 +02:00
Josep Torra
3c9dfaea38
basesink: fixes compiler warning
...
gstbasesink.c: In function 'gst_base_sink_chain_unlocked':
gstbasesink.c:3204: warning: 'ret' may be used uninitialized in this function
2013-03-30 10:24:27 +01:00
Mark Nauwelaerts
6ddbaaa95c
baseparse: reset next_pts upon SEGMENT event
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
2013-03-27 18:26:30 +01:00
Mark Nauwelaerts
76acdee908
baseparse: more inter-timestamp tracking
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
2013-03-27 18:26:30 +01:00
Nicolas Dufresne
253035d395
basesrc: Don't send error if negotiate fails because we are flushing
...
Negotiation may be aborted by a flush from another thread that need to
stop the task (i.e. seek). Check that case and silently pause the task.
https://bugzilla.gnome.org/show_bug.cgi?id=696357
2013-03-25 08:57:06 +01:00
Tim-Philipp Müller
f40aa2c4ad
basesink: fix use of uninitialized variable
...
Running suite(s): GstBaseSink
==22023== Conditional jump or move depends on uninitialised value(s)
==22023== at 0x505FFCE: gst_base_sink_get_sync_times (gstbasesink.c:1936)
==22023== by 0x5068C80: gst_base_sink_do_sync (gstbasesink.c:2379)
==22023== by 0x506BCD2: gst_base_sink_default_wait_event (gstbasesink.c:2903)
==22023== by 0x50633A4: gst_base_sink_default_event (gstbasesink.c:2918)
==22023== by 0x6F5C216: gst_fake_sink_event (gstfakesink.c:383)
==22023== by 0x505F164: gst_base_sink_event (gstbasesink.c:3108)
==22023== by 0x52FA090: gst_pad_send_event_unchecked (gstpad.c:4822)
==22023== by 0x5303756: gst_pad_send_event (gstpad.c:4984)
==22023== by 0x40165B: basesink_test_gap (basesink.c:148)
2013-03-03 16:03:42 +00:00
David Schleef
f671bd2754
collectpads: take DTS into account
...
Importantly, this patch converts DTS to running time. Less importantly,
and possibly a problem for some muxers, is that it orders buffers by
DTS (if it is valid, otherwise PTS). This is generally correct, but
might be somewhat surprising to muxers.
Also note that once converted to running time, DTS can end up negative.
2013-03-02 10:42:01 -08:00
Stefan Sauer
82f7bdd7bb
seeking: add more logging for seeking
...
Especially add logging to error code paths.
2013-02-27 22:17:17 +01:00
Tim-Philipp Müller
5a73d15c80
basetransform: don't pass NULL outcaps to transform_size on shutdown
...
gst_pad_get_current_caps() on the source pad might yield NULL caps
if we're being shut down and the source pad has already been
deactivated by the other thread that's changing state. Just bail
out in that case, instead of passing NULL caps to the transform_size
function, which it might not expect.
Fixes spurious warnings in audioresample shutdown unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=693996
2013-02-21 11:28:12 +00:00
David Schleef
9ceb52d334
baseparse: Fix doc typo
2013-02-12 12:31:42 -08:00
David Schleef
2a8c95ff3b
baseparse: add gst_base_parse_set_ts_at_offset()
...
Sets the buffer timestamps based on last seen timestamps at a
particular offset into the frame.
API: gst_base_parse_set_ts_at_offset()
2013-02-12 12:16:27 -08:00
David Schleef
da68b74b5d
adapter: Add gst_adapter_prev_[pd]ts_at_offset()
...
Original patch written by Michael Smith <msmith@rdio.com>.
API: gst_adapter_prev_pts_at_offset()
API: gst_adapter_prev_dts_at_offset()
2013-02-12 12:16:27 -08:00
Stefan Sauer
d211a2a67c
compat: kill more uses of gst_pad_set_caps()
2013-02-11 22:54:22 +01:00
Mark Nauwelaerts
314400d45a
baseparse: improve PTS interpolating
...
... and tracking of DTS. Fixes cases where PTS is locked on to the
DTS of an incoming buffer with no PTS with invalid data, leading to
no outgoing PTS (since it is not allowed smaller than DTS).
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
2013-02-09 12:32:02 +01:00
Wim Taymans
2ea32f3ab5
basesink: handle sync of EOS after item without duration
...
After a buffer or GAP without duration, an EOS event should be rendered
immediately instead of waiting for the end of the segment.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692868
2013-02-05 17:22:37 +01:00
Tim-Philipp Müller
3f8eff5c7e
dataqueue: can't pass a GType through GINT_TO_POINTER
...
Use GSIZE_TO_POINTER instead. sizeof(GType) may be larger
than sizeof(gulong) and sizeof(int), so the casts may
chop off some bits from the GType value on some architectures.
2013-01-30 13:06:44 +00:00
Tim-Philipp Müller
ae8940e6f7
queuearray: make _find() find the value if no compare function is provided
...
Allow NULL as compare function for direct value lookup.
https://bugzilla.gnome.org/show_bug.cgi?id=692691
2013-01-30 12:07:52 +00:00
Alexander Schrab
5a7c1b56dc
queuearray: fix gst_queue_array_find()
...
https://bugzilla.gnome.org/show_bug.cgi?id=692691
2013-01-30 11:24:55 +00:00
Alexander Schrab
af8ff1bed8
queuearray: fix gst_queue_array_drop_element()
...
https://bugzilla.gnome.org/show_bug.cgi?id=692691
Conflicts:
libs/gst/base/gstqueuearray.c
2013-01-30 11:24:35 +00:00
Sreerenj Balachandran
0c643e2cf7
docs: align the comments correctly with the declaration in bitreader docs
...
https://bugzilla.gnome.org/show_bug.cgi?id=692809
2013-01-29 15:43:05 +00:00
Wim Taymans
e697254fc1
basesrc: handle renegotiation correctly
...
Don't retry to negotiate when we fail to negotiate but instead produce a
NOT_NEGOTIATED error. We only want to retry negotiation if the result from
gst_pad_push() returned NOT_NEGOTIATED.
2013-01-29 09:52:16 +01:00
Niv Sardi
4adee0dee2
basesrc: set NEED_RECONFIGURE flag if negotiate fails
...
When negotiation fails, mark the pad as needing a reconfigure again so
that it gets picked up again next time.
Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691986
2013-01-24 09:21:01 +01:00
Tim-Philipp Müller
e90d2710b3
docs: add a note to the gst_adapter_take_buffer() docs about buffer flags
...
https://bugzilla.gnome.org/show_bug.cgi?id=682110
2013-01-16 17:24:42 +00:00
Tim-Philipp Müller
64eee27ebc
Use GST_*_1_0 environment variables everywhere
...
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.
2013-01-15 13:47:32 +00:00
Tim-Philipp Müller
5ea8937f56
docs: minor GstBaseParse docs fixes
...
Expose docs for gst_base_parse_finish_frame().
2013-01-14 20:05:23 +00:00
Wim Taymans
30010356f2
typefind: handle map failure
2013-01-14 17:01:22 +01:00
Wim Taymans
27832606e5
basesrc: handle map failure
2013-01-14 17:00:46 +01:00
Wim Taymans
bac5ba632e
adapter: handle map failure
2013-01-14 17:00:23 +01:00
Tim-Philipp Müller
1702623b20
baseparse: add vfuncs to intercept queries
...
Useful for video parses that want to attach matter or
find out if downstream supports certain metas.
API: GstBaseParseClass::src_query()
API: GstBaseParseClass::sink_query()
https://bugzilla.gnome.org/show_bug.cgi?id=691475
2013-01-13 14:45:31 +00:00
Tim-Philipp Müller
2b1facfe1d
baseparse: fix up name of default event vfuncs
2013-01-12 20:54:26 +00:00
Sebastian Dröge
925bdaa836
basesink: Initialize uninitialized variable
2013-01-03 10:17:11 +01:00
Thijs Vermeir
67fab5eaa5
adapter: return gssize from gst_adapter_masked_scan_* functions
...
As the return value of this function is -1 when the match is not found
2013-01-02 10:40:38 +01:00
Sebastian Dröge
c859a1719c
basesink: Check if buffers are too late before calling prepare/prepare_list
...
https://bugzilla.gnome.org/show_bug.cgi?id=690936
2013-01-01 10:48:56 +01:00
Arnaud Vrac
4a1ff7fa95
baseparse: fix invalid output timestamps in some cases
2012-12-17 12:26:14 +01:00
Wim Taymans
fac7eb0a50
NEWSEGMENT -> SEGMENT
2012-12-14 15:24:30 +01:00
Wim Taymans
6e6fc159a7
basesrc: call _stop when start failed
...
When we failed to complete the start, call stop again. This makes sure that all
successfull calls to _start are paired with a _stop.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687845
2012-12-13 14:48:35 +01:00
Sebastian Dröge
e58dabc750
libs: Use foo/foo.h as single-include header consistently everywhere
...
https://bugzilla.gnome.org/show_bug.cgi?id=688785
2012-12-12 16:44:14 +00:00
Wim Taymans
7518960829
baseparse: pass DTS and PTS to handle_buffer
...
This makes it handle the timestamps correctly and avoids using a wrong timestamp
for the output.
2012-12-11 16:46:18 +01:00
Wim Taymans
6c99839d89
baseparse: improve debug
...
Add pts and dts in debug log
2012-12-11 16:46:01 +01:00
Wim Taymans
98d084df69
adapter: fix 0.10 docs to make more sense in 1.0
2012-12-05 14:24:14 +01:00
Wim Taymans
89d6ac116c
adapter: fix docs for 1.0
...
Add parent to chain function signature and use it.
2012-12-05 14:03:27 +01:00
Tim-Philipp Müller
e43ebd685d
dataqueue: reduce debug log spam a bit
...
Log locking/unlocking with TRACE debug level.
2012-11-25 18:11:38 +00:00
Evan Nemerson
1afb1f12ef
libs: Add missing single include headers and use them in GIRs
2012-11-21 11:00:40 +01:00