[Webkit-unassigned] [Bug 196691] [GStreamer] gst_element_get_state: assertion 'GST_IS_ELEMENT (element)' failed in WebCore::MediaPlayerPrivateGStreamer::paused

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Apr 24 10:01:32 PDT 2019


https://bugs.webkit.org/show_bug.cgi?id=196691

--- Comment #12 from Eric Carlson <eric.carlson at apple.com> ---
> 
> Yeah that's indeed the issue. Our supportsType() returns IsNotSupported for
> image/gif but the MediaPlayer creates a GStreamer MediaPlayerPrivate anyway
> and tries to load that asset.
> 
> Eric, this looks like a bug in MediaPlayer::loadWithNextMediaEngine():
> 
> 
>     // If no MIME type is specified or the type was inferred from the file
> extension, just use the next engine.
>     if (!engine && (m_contentType.isEmpty() ||
> m_contentMIMETypeWasInferredFromExtension))
>         engine = nextMediaEngine(current);
> 
> m_contentType is not empty but m_contentMIMETypeWasInferredFromExtension is
> true, so the next engine is loaded, regardless of the supportsType() result.

It does this on the assumption that because media file extensions are such a mess (e.g. look at the number of synonyms for "video/mpeg" in MIMETypeRegistry.cpp), it is  better to let the media engine look at the file in the absence of a MIME type. 


> If this code has to remain, I think it would be good that MediaPlayerPrivate::load() methods return a bool result. WDYT?

That would require MediaPlayerPrivate::load to be synchronous, which is usually impossible. 

If the MediaPlayerPrivate calls MediaPlayer::networkStateChanged() with networkState >= FormatError and readyState < HaveMetadata, MediaPlayer will try with with the next media engine or pass the error to HTMLMediaElement if there are none.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190424/05e86af7/attachment-0001.html>


More information about the webkit-unassigned mailing list