GNOME Bugzilla – Bug 705153
regression: asfdemux: cannot seek in push mode any longer
Last modified: 2013-08-12 15:45:46 UTC
Commit 1803b3c185 (asfdemux: Add support for dvr-ms) breaks seeking in push mode. After the patch I get the following logs: handling seeking query <asfdemux0> seeking to 0:00:40.436000000 <asfdemux0> seeking to packet 5097 <asfdemux0> Pushing BYTE seek rate 1, start 41918098, stop -1 <asfdemux0> Aggregating <asfdemux0> flow: flushing <asfdemux0> reset stream state <asfdemux0> sending flush-stop event to all source pads <asfdemux0> reset stream state <asfdemux0> received DISCONT <asfdemux0> Mark stream discont No previous fragments to merge with for stream 2 <asfdemux0> n-th payload fragment, but don't have any previous fragment, ignoring payload <asfdemux0> Got payload for stream 2 ts:0:00:40.415000000 <asfdemux0> Got payload for stream 1 ts:0:00:40.832000000 ... <asfdemux0> Got payload for stream 2 ts:0:01:20.747000000 <asfdemux0> Got payload for stream 1 ts:0:01:20.872000000 <asfdemux0> sending eos event to all source pads And with the patch reverted: <asfdemux0> seeking to 0:00:40.436000000 <asfdemux0> seeking to packet 5097 <asfdemux0> Pushing BYTE seek rate 1, start 41918098, stop -1 <asfdemux0> Aggregating <asfdemux0> flow: flushing <asfdemux0> reset stream state <asfdemux0> sending flush-stop event to all source pads <asfdemux0> reset stream state <asfdemux0> received DISCONT <asfdemux0> Mark stream discont No previous fragments to merge with for stream 2 <asfdemux0> n-th payload fragment, but don't have any previous fragment, ignoring payload <asfdemux0> Got payload for stream 2 ts:0:00:40.415000000 <asfdemux0> segment ts: 0:00:40.374000000 <asfdemux0> Got payload for stream 1 ts:0:00:40.832000000 Adjusting newsegment start to 0:00:40.791000000 <asfdemux0> sending new-segment event time segment start=0:00:40.791000000, stop=0:01:20.872000000, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:40.791000000, base=0:00:00.000000000, position 0:00:40.374000000, duration 0:01:20.872000000 <asfdemux0> sending segment event to all source pads <asfdemux0> global tags: taglist, container-format=(string)ASF; <asfdemux0> sending tag event to all source pads <asfdemux0:audio_0> marking DISCONT on stream
It looks like this has been fixed by: commit f27c832011a96a277bcabdb0a858077a42b46ebc Author: Matej Knopp <matej.knopp@gmail.com> Date: Tue Jul 30 17:28:17 2013 +0200 asfdemux: fix seeking in push mode There are still artefacts in the video after seeking, because the decoder doesn't wait for a new keyframe apparently, but that exists in 1.0.x as well.