Bug 252266

Summary: [GStreamer][MSE] Cannot play first 5 seconds of reddit video
Product: WebKit Reporter: Michael Catanzaro <mcatanzaro>
Component: MediaAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: bugs-noreply, mcatanzaro, philn
Priority: P2    
Version: WebKit Nightly Build   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
gst debug log, manually copied out of terminal scrollback none

Michael Catanzaro
Reported 2023-02-14 14:43:36 PST
Recently it became impossible to play the first 5 seconds of many videos on reddit.com, but not all videos. The video player widget is the same for most videos, so I'm not sure what the difference is. Video that exhibits the bug: https://www.reddit.com/r/IdiotsInCars/comments/112gngn/idiots_ignore_4way_stop_to_beat_the_semi_truck/ I attempted to get a GStreamer debug log following the exact same steps that worked for me yesterday in bug #252199, but today I cannot figure out how. I'm doing: $ flatpak run --filesystem=home --command=/bin/bash org.gnome.Epiphany.Devel [📦 org.gnome.Epiphany.Devel ~]$ GST_DEBUG="3,webkit*:6" GST_DEBUG_FILE="$HOME/gst.log" GST_DEBUG_NO_COLOR=1 WEBKIT_FORCE_SANDBOX=0 epiphany And I swear that worked fine yesterday. Today, no gst.log is created even inside the sandbox.
Attachments
gst debug log, manually copied out of terminal scrollback (568.60 KB, text/x-log)
2023-02-14 14:46 PST, Michael Catanzaro
no flags
Michael Catanzaro
Comment 1 2023-02-14 14:46:15 PST
Created attachment 464988 [details] gst debug log, manually copied out of terminal scrollback
Philippe Normand
Comment 2 2023-02-15 07:59:00 PST
0:00:07.778926253 2 0x7f32f4009060 WARN hlsdemux gsthlsdemux.c:811:gst_hls_demux_process_manifest:<hlsdemux0> error: Could not fetch media playlist: Failed to download 'https://v.redd.it/97irrwku18ia1/HLS_AUDIO_64_K.m3u8' 0:00:07.778953565 2 0x7f32f4009060 WARN adaptivedemux gstadaptivedemux.c:690:gst_adaptive_demux_sink_event:<hlsdemux0> error: Invalid manifest. Again this hlsdemux thing...
Philippe Normand
Comment 3 2023-02-15 08:15:49 PST
(In reply to Philippe Normand from comment #2) > 0:00:07.778926253 2 0x7f32f4009060 WARN hlsdemux > gsthlsdemux.c:811:gst_hls_demux_process_manifest:<hlsdemux0> error: Could > not fetch media playlist: Failed to download > 'https://v.redd.it/97irrwku18ia1/HLS_AUDIO_64_K.m3u8' > 0:00:07.778953565 2 0x7f32f4009060 WARN adaptivedemux > gstadaptivedemux.c:690:gst_adaptive_demux_sink_event:<hlsdemux0> error: > Invalid manifest. > > Again this hlsdemux thing... I'll send a PR to downrank hlsdemux, but I can still reproduce the issue here, suspecting a MSE bug now...
Philippe Normand
Comment 4 2023-02-17 02:27:43 PST
There's this in the log: 0:00:09.110062115 2 0x55fe008bf1d0 DEBUG webkitmse MediaPlayerPrivateGStreamerMSE.cpp:229:seek:<MSE-media-player-11> Requested seek to {6.0175279999999995} 0:00:09.110124624 2 0x55fe008bf1d0 DEBUG webkitmediasrc WebKitMediaSourceGStreamer.cpp:725:webKitMediaSrcSendEvent:<webkitmediasrc0> Handling seek event: seek event: 0x7f17ec003310, time 99:99:99.999999999, seq-num 2623, GstEventSeek, rate=(double)1, format=(GstFormat)time, flags=(GstSeekFlags)GST_SEEK_FLAG_FLUSH, cur-type=(GstSeekType)set, cur=(gint64)6017528000, stop-type=(GstSeekType)none, stop=(gint64)0, trickmode-interval=(guint64)0; Not sure yet, but wondering if this could be a bug on JS side... We need to know what triggers this spurious seek.
Michael Catanzaro
Comment 5 2023-02-17 06:10:53 PST
(In reply to Michael Catanzaro from comment #0) > And I swear that worked fine yesterday. P.S. The problem was I forgot that I replaced WEBKIT_FORCE_SANDBOX=0 with WEBKIT_DISABLE_SANDBOX_THIS_IS_DANGEROUS=1. I added a warning if you make that mistake, but only in the old API version, so didn't notice.
Philippe Normand
Comment 6 2023-02-17 10:04:52 PST
There's a 6 seconds gap in the video stream... dunno why... 0:00:13.085547933 38 0x233e6a0 TRACE webkitmediasrc WebKitMediaSourceGStreamer.cpp:539:webKitMediaSrcLoop:<webkitmediasrc0:src_V0> Pushing buffer downstream: buffer: 0x7f3cc8006240, pts 0:00:00.000000000, dts 0:00:00.000000000, dur 0:00:00.033333333, size 21772, offset 0, offset_end none, flags 0x640 0:00:13.086617331 38 0x233e6a0 TRACE webkitmediasrc WebKitMediaSourceGStreamer.cpp:539:webKitMediaSrcLoop:<webkitmediasrc0:src_V0> Pushing buffer downstream: buffer: 0x7f3cc800f000, pts 0:00:00.033333333, dts 0:00:00.033333333, dur 0:00:00.033333333, size 2379, offset 21772, offset_end none, flags 0x2200 0:00:13.086748721 38 0x233e6a0 TRACE webkitmediasrc WebKitMediaSourceGStreamer.cpp:539:webKitMediaSrcLoop:<webkitmediasrc0:src_V0> Pushing buffer downstream: buffer: 0x7f3cc8006120, pts 0:00:00.066666666, dts 0:00:00.066666666, dur 0:00:00.033333333, size 2436, offset 24151, offset_end none, flags 0x2200 0:00:13.086869289 38 0x233e6a0 TRACE webkitmediasrc WebKitMediaSourceGStreamer.cpp:539:webKitMediaSrcLoop:<webkitmediasrc0:src_V0> Pushing buffer downstream: buffer: 0x7f3c8c009c60, pts 0:00:00.100000000, dts 0:00:00.100000000, dur 0:00:00.033333333, size 2867, offset 26587, offset_end none, flags 0x2200 0:00:13.086954903 38 0x233e6a0 TRACE webkitmediasrc WebKitMediaSourceGStreamer.cpp:539:webKitMediaSrcLoop:<webkitmediasrc0:src_V0> Pushing buffer downstream: buffer: 0x7f3cec004c60, pts 0:00:00.133333333, dts 0:00:00.133333333, dur 0:00:00.033333333, size 2890, offset 29454, offset_end none, flags 0x2200 0:00:13.087026737 38 0x233e6a0 TRACE webkitmediasrc WebKitMediaSourceGStreamer.cpp:539:webKitMediaSrcLoop:<webkitmediasrc0:src_V0> Pushing buffer downstream: buffer: 0x7f3cc800f120, pts 0:00:00.166666666, dts 0:00:00.166666666, dur 0:00:00.033333333, size 2628, offset 32344, offset_end none, flags 0x2200 0:00:13.087114543 38 0x233e6a0 TRACE webkitmediasrc WebKitMediaSourceGStreamer.cpp:539:webKitMediaSrcLoop:<webkitmediasrc0:src_V0> Pushing buffer downstream: buffer: 0x7f3cc800f480, pts 0:00:00.200000000, dts 0:00:00.200000000, dur 0:00:00.033333333, size 2933, offset 34972, offset_end none, flags 0x2200 0:00:13.087203013 38 0x233e6a0 TRACE webkitmediasrc WebKitMediaSourceGStreamer.cpp:539:webKitMediaSrcLoop:<webkitmediasrc0:src_V0> Pushing buffer downstream: buffer: 0x7f3cc800f240, pts 0:00:00.233333333, dts 0:00:00.233333333, dur 0:00:00.033333333, size 2846, offset 37905, offset_end none, flags 0x2200 0:00:13.087335168 38 0x233e6a0 TRACE webkitmediasrc WebKitMediaSourceGStreamer.cpp:539:webKitMediaSrcLoop:<webkitmediasrc0:src_V0> Pushing buffer downstream: buffer: 0x7f3cc800f360, pts 0:00:00.266666666, dts 0:00:00.266666666, dur 0:00:00.033333333, size 2556, offset 40751, offset_end none, flags 0x2200 0:00:14.367678067 38 0x233e6a0 TRACE webkitmediasrc WebKitMediaSourceGStreamer.cpp:539:webKitMediaSrcLoop:<webkitmediasrc0:src_V0> Pushing buffer downstream: buffer: 0x7f3cc8049000, pts 0:00:06.000000000, dts 0:00:06.000000000, dur 0:00:00.033333333, size 25893, offset 621008, offset_end none, flags 0x600 0:00:14.368395124 38 0x233e6a0 TRACE webkitmediasrc WebKitMediaSourceGStreamer.cpp:539:webKitMediaSrcLoop:<webkitmediasrc0:src_V0> Pushing buffer downstream: buffer: 0x7f3cc8031000, pts 0:00:06.033333333, dts 0:00:06.033333333, dur 0:00:00.033333333, size 2247, offset 646901, offset_end none, flags 0x2200
Michael Catanzaro
Comment 7 2023-02-17 12:19:22 PST
Odd, because the same video works fine in Firefox. :/
Philippe Normand
Comment 8 2023-02-18 01:41:28 PST
With current main of WebKit and GStreamer I cannot reproduce this issue. You'd need https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3867 backported in your runtime and the corresponding WebKit patch. *** This bug has been marked as a duplicate of bug 251866 ***
Note You need to log in before you can comment on or make changes to this bug.