Bug 263165

Summary: [GStreamer] Video not resized with playbin3 on i.MX8M Plus and COG, part 2
Product: WebKit Reporter: Marek Vasut <marex+webkit>
Component: PlatformAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: philn, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Other   
OS: Linux   

Description Marek Vasut 2023-10-14 19:18:12 PDT
When using WEBKIT_GST_USE_PLAYBIN3=1 and cog to open VP9 video from remote server which provides a video with html5 video tag:
    
"
<video id="video" autoplay muted loop autofocus controls><!--controls-->
<source src="./1.webm" type="video/webm">
</video>
"
    
then only single message is delivered to MediaPlayerPrivateGStreamer::handleStreamCollectionMessage() . The current workaround check would bail out since the message source is decodebin3, while the m_source is webkitwebsrc . This prevents player->updateTracks from being called, and thus m_hasVideo from being set, and thus hasVideo() in MediaPlayerPrivateGStreamer::naturalSize() returns false and MediaPlayerPrivateGStreamer::naturalSize returns FloatSize() size, which is 0x0. The resulting video element in the browser has minimum height set and is not correctly resized.
    
Limit the MediaPlayerPrivateGStreamer::handleStreamCollectionMessage() workaround only to non-filesrc and non-webkitwebsrc, since webkitwebsrc is not generating the stream-collection events.
Comment 1 Marek Vasut 2023-10-14 19:39:37 PDT
Pull Request: https://github.com/WebKit/WebKit/pull/19091
Comment 2 EWS 2023-10-15 12:29:11 PDT
Committed 269347@main (1bcae4eccfb9): <https://commits.webkit.org/269347@main>

Reviewed commits have been landed. Closing PR #19091 and removing active labels.
Comment 3 Radar WebKit Bug Importer 2023-10-15 12:30:15 PDT
<rdar://problem/116986957>