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 780186 - tsdemux: missing new-segment after seeking in push mode
tsdemux: missing new-segment after seeking in push mode
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-03-17 10:39 UTC by Holger Kaelberer
Modified: 2018-11-03 14:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
GST_DEBUG=play:5,tsdemux:5,mpegts:5,mpegtspacketizer:5,mpegtsbase:5,GST_DEBUG=vaapi*:5,codecparsers*:5 (773.20 KB, application/gzip)
2017-03-17 10:39 UTC, Holger Kaelberer
  Details
fix serialization/deserialization of GstStream (3.20 KB, patch)
2017-03-23 15:08 UTC, Vincent Penquerc'h
rejected Details | Review

Description Holger Kaelberer 2017-03-17 10:39:53 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.
Comment 1 Vincent Penquerc'h 2017-03-23 15:08:03 UTC
Created attachment 348578 [details] [review]
fix serialization/deserialization of GstStream
Comment 2 Vincent Penquerc'h 2017-03-24 11:37:26 UTC
Oops, wrong bug :)
Comment 3 rland 2018-04-03 02:22:42 UTC
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
...
Comment 4 rland 2018-04-03 05:25:28 UTC
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
Comment 5 GStreamer system administrator 2018-11-03 14:06:13 UTC
-- 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.