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.