GNOME Bugzilla – Bug 780186
tsdemux: missing new-segment after seeking in push mode
Last modified: 2018-11-03 14:06:13 UTC
Created attachment 348161 [details] GST_DEBUG=play:5,tsdemux:5,mpegts:5,mpegtspacketizer:5,mpegtsbase:5,GST_DEBUG=vaapi*:5,codecparsers*:5 With some content playback stops after seeking in push mode (http). Does not happen with the same content transmuxed to an mp4 container, therefore probably tsdemux related. Not yet sure about the root cause. Happens with git master (from last week), 1.10 and 1.8.3. Following output is generated from git master. vaapidecode complains about parsing errors after seeking: 0:00:03.648211853 14196 0x7f95f014b000 WARN codecparsers_h264 gsth264parser.c:976:gst_h264_parser_parse_pic_timing: didn't get the associated sequence param ater set for the current access unit 0:00:03.648227337 14196 0x7f95f014b000 WARN codecparsers_h264 gsth264parser.c:1021:gst_h264_parser_parse_pic_timing: error parsing "Picture timing" 0:00:03.648245709 14196 0x7f95f014b000 ERROR vaapidecode gstvaapidecode.c:1118:gst_vaapidecode_parse_frame: parse error 8 Not sure if this this is related to the following: (gst-play-1.0:14236): GStreamer-WARNING **: gstpad.c:4429:gst_pad_push_data:<h264parse0:src> Got data flow before segment event (gst-play-1.0:14236): GStreamer-WARNING **: gstpad.c:4176:gst_pad_chain_data_unchecked:<capsfilter0:sink> Got data flow before segment event (gst-play-1.0:14236): GStreamer-WARNING **: gstpad.c:4429:gst_pad_push_data:<capsfilter0:src> Got data flow before segment event (gst-play-1.0:14236): GStreamer-WARNING **: gstpad.c:4176:gst_pad_chain_data_unchecked:<vaapidecodebin0:sink> Got data flow before segment event (gst-play-1.0:14236): GStreamer-WARNING **: gstpad.c:4429:gst_pad_push_data:<sink:proxypad3> Got data flow before segment event (gst-play-1.0:14236): GStreamer-WARNING **: gstpad.c:4176:gst_pad_chain_data_unchecked:<vaapidecode0:sink> Got data flow before segment event Tested with gst-play, seems to happen both with GST_SEEK_FLAG_KEY_UNIT and GST_SEEK_FLAG_ACCURATE. Unfortunately, I'm not allowed to provide test-content publicly. Could provide a snippet in private communication if needed and ok for you.
Created attachment 348578 [details] [review] fix serialization/deserialization of GstStream
Oops, wrong bug :)
In push mode,SEEK operation almost easy to reproduce. gst-launch-1.0 -vvv playbin uri=http://10.9.44.116/test.ts ----- .... WARNING Internal data flow problems. WARNING debug information: gstbasesink.c(3394): gst_base_sink_chain_unlocked (): /GstPlayBin:playbin/GstPlaySink:playsink/ GstBin:abin/GstPulseSink:pulsesink1: Received buffer without a new-segment. Assuming timestamps start from 0. buffering... 100% (gst-play-1.0:8855): GStreamer-CRITICAL **: gst_segment_to_running_time: assertion 'segment->format == format' failed gst-play-1.0:8855): GStreamer-CRITICAL **: gst_segment_to_running_time: assertion 'segment->format == format' failed (gst-play-1.0:8855): GStreamer-CRITICAL **: gst_segment_to_running_time: assertion 'segment->format == format' failed (gst-play-1.0:8855): GStreamer-CRITICAL **: gst_segment_to_running_time: assertion 'segment->format == format' failed (gst-play-1.0:8855): GStreamer-CRITICAL **: gst_segment_to_running_time: assertion 'segment->format == format' failed (gst-play-1.0:8855): GStreamer-CRITICAL **: gst_segment_to_running_time: assertion 'segment->format == format' failed ...
4 times SEEK,and the last one lowest_pts is -1, --- 0:00:00.070836096 25596 0x7fd690064e80 DEBUG tsdemux tsdemux.c:2490:calculate_and_push_newsegment: lowest_pts 780000000 => clocktime 0:00:00.780000000 0:00:01.415042716 25596 0x7fd690064e80 DEBUG tsdemux tsdemux.c:2490:calculate_and_push_newsegment: lowest_pts 195380000000 => clocktime 0:03:15.380000000 0:00:02.224494613 25596 0x7fd690064e80 DEBUG tsdemux tsdemux.c:2490:calculate_and_push_newsegment: lowest_pts 163226800000 => clocktime 0:02:43.226800000 0:00:02.867578400 25596 0x7fd690064e80 DEBUG tsdemux tsdemux.c:2490:calculate_and_push_newsegment: lowest_pts 18446744073709551615 => clocktime 0:00:00.000000000
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/537.