libs/gst/base/gstbasesink.c: Improve position reporting in the flushing state.
authorWim Taymans <wim.taymans@gmail.com>
Tue, 19 Aug 2008 16:47:07 +0000 (16:47 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Tue, 19 Aug 2008 16:47:07 +0000 (16:47 +0000)
commite93b94afdff4ed41e27fde6b86943fe73030c2f0
tree35c904410d5ac910e48927ee6c956c0e263e6aea
parentb981ec6e098421d5a480100213030a70341de04f
libs/gst/base/gstbasesink.c: Improve position reporting in the flushing state.

Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
(gst_base_sink_event), (gst_base_sink_chain_unlocked),
(gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
(gst_base_sink_get_position), (gst_base_sink_change_state):
Improve position reporting in the flushing state.
Also report the position when we are not yet prerolled but we
have a newsegment event. Fixes #543444.
Improve the pull-based negotiation code.
* tests/check/elements/fakesink.c: (GST_START_TEST),
(fakesink_suite):
Add testcase for position reporting while flushing in PAUSED and
PLAYING.
* tests/check/generic/sinks.c: (GST_START_TEST):
Update unit-test, we can now query the position as soon as we receive a
NEWSEGMENT event.
ChangeLog
libs/gst/base/gstbasesink.c
tests/check/elements/fakesink.c
tests/check/generic/sinks.c