Summary: | [GStreamer] Several layout tests trigger GStreamer-CRITICAL **: gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)' failed | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Michael Catanzaro <mcatanzaro> | ||||
Component: | Media | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | agomez, cgarcia, commit-queue, jer.noble, mcatanzaro | ||||
Priority: | P2 | ||||||
Version: | WebKit Nightly Build | ||||||
Hardware: | PC | ||||||
OS: | Linux | ||||||
Attachments: |
|
Description
Michael Catanzaro
2017-01-13 12:59:20 PST
Whoops, I missed a lot of affected tests. All of the following tests are affected by this issue: http/tests/media/video-accept-encoding.html http/tests/media/video-query-url.html http/tests/media/video-redirect.html http/tests/media/video-served-as-text.html http/tests/media/video-throttled-load-metadata.html http/tests/security/contentSecurityPolicy/audio-redirect-allowed.html http/tests/security/contentSecurityPolicy/audio-redirect-allowed2.html http/tests/security/contentSecurityPolicy/video-with-http-url-allowed-by-csp-media-src-star.html http/tests/security/contentSecurityPolicy/video-with-https-url-allowed-by-csp-media-src-star.html http/tests/security/local-video-source-from-remote.html http/tests/security/video-cross-origin-accessfailure.html http/tests/security/video-cross-origin-caching.html imported/w3c/web-platform-tests/html/semantics/embedded-content/media- media/broken-video.html media/media-controls-invalid-url.html media/video-does-not-loop.html media/video-size.html *** Bug 168588 has been marked as a duplicate of this bug. *** Please refer to bug #168588 for a backtrace to this critical. Created attachment 302388 [details]
Patch
Comment on attachment 302388 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=302388&action=review > Source/WebCore/ChangeLog:16 > + (WebCore::MediaPlayerPrivateGStreamer::ensureAudioSourceProvider): Create the AudioSourceProvider is needed. I guess you mean "if" > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2059 > +void MediaPlayerPrivateGStreamer::ensureAudioSourceProvider() > +{ > + if (!m_audioSourceProvider) > + m_audioSourceProvider = std::make_unique<AudioSourceProviderGStreamer>(); > +} > + > +AudioSourceProvider* MediaPlayerPrivateGStreamer::audioSourceProvider() > +{ > + ensureAudioSourceProvider(); > + return m_audioSourceProvider.get(); > +} I would probably avoid the ensure function and use audioSourceProvider in all cases above. Besides, it might be interesting to make it inline if possible. But proposed solution is fine with me too. Committed r212889: <http://trac.webkit.org/changeset/212889> |