After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 705153 - regression: asfdemux: cannot seek in push mode any longer
regression: asfdemux: cannot seek in push mode any longer
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
1.1.3
Other Linux
: Normal blocker
: 1.1.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-07-30 15:26 UTC by Arnaud Vrac
Modified: 2013-08-12 15:45 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Arnaud Vrac 2013-07-30 15:26:47 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
Comment 1 Tim-Philipp Müller 2013-08-12 15:45:46 UTC
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.