Playbin: there are some display error issues when playing a special network ts stream

I was using the playbin plugin to play a special network url that got from dlna projection, the video could play normally itself if we did nothing, but there are still some problems about that.

the play command like that:
gst-play-1.0 uri http://ottvideomigu.hifuntv.com/internettv/c1/2024/11/29/937540E75F809902137FD034ADE4CD09.ts?pm=fvRqBFue1eX2Eubibqe94GM9hdFeSu~CA_F7g9NtA82DI3Atsbz8OyLKdb2dBxVKNw3IqLxP3DdjpWkRFsGECLjkRnwVehPGCYOMOzdutPBGatPDESzTsFf~tJCXaJflMMZMvPetdEgw5nVAYGRLTzxWAbZEaXOmmfzPAWgCt6pYInEyZ7Z~1buZSyRkFhSOVVM~Hrq4CDvF0MWNRc314j6ftHRDzL4ehPkmqTkCbrzzvpndVSApVZUtZqhlNW7r~eHPb3g9bn82J4d53rbAGMQ3Jdg6KdcRF_9q8Ye9Db~ZO4bRVKRdeOgPLuTCTRUeGPlmFlfshH6l1Vt72r2qLd2KjGgNeUUYCdjfvA--

bug description:
1: the video duration got from gstreamer every time is different from real duration for this video, the real video duration is about 00:47:41.56, but the video duration got from gstreamer is probably about from 00:30:00 to 01:47:30.
2: When starting to seek, sometimes that video will show figured screen for one or two seconds, after then it will recover normally, sometimes the video will not show black all the time until next seek happens.

for the question2, gstreamer reported a lot of waring info like that: ->####################
WARNING Internal data flow problem. 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:44553): GStreamer-CRITICAL **: 01:12:01.093: gst_segment_to_running_time: assertion ‘segment->format == format’ failed
(gst-play-1.0:44553): GStreamer-CRITICAL **: 01:12:01.093: gst_segment_to_running_time: assertion ‘segment->format == format’ failed
(gst-play-1.0:44553): GStreamer-CRITICAL **: 01:12:01.095: gst_segment_to_running_time: assertion ‘segment->format == format’ failed
(gst-play-1.0:44553): GStreamer-CRITICAL **: 01:12:01.095: gst_segment_to_running_time: assertion ‘segment->format == format’ failed
(gst-play-1.0:44553): GStreamer-CRITICAL **: 01:12:01.095: gst_segment_to_running_time: assertion ‘segment->format == format’ failed
(gst-play-1.0:44553): GStreamer-CRITICAL **: 01:12:01.095: gst_segment_to_running_time: assertion ‘segment->format == format’ failed
(gst-play-1.0:44553): GStreamer-CRITICAL **: 01:12:01.095: gst_segment_to_running_time: assertion ‘segment->format == format’ failed

but when I am playing the same url with ffmpeg, there seems to be ok. -

GStreamer Version:
1.16.3

Steps to reproduce the bug
unfortunately, the url was got from Mango TV video app by dlna network projection, the url will be expired after several hours. but i can download the video as ts format or i also can provide some gstreamer log if you need.

Does anybody know how to deal with that? I am looking forward to everyone’s active participation.

Can you try with 1.24.x? 1.16.x is no longer maintained.

This issue has been still happened in the gstreamer version 1.22

Sorry, I have not the latest version like 1.24 in my computer, but I has tried to verify this issue in the version 1.22, Unfortunately it doesn’t still work very well, so I think this issue should be existed in all versions, can you help me solve this issue?

I have created a ticket attached the reproduced file on the gitlab, refer to link bellow.
there are some display error issues when playing a special network ts stream (#4131) · Issues · GStreamer / gstreamer · GitLab.