<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>167016</bug_id>
          
          <creation_ts>2017-01-13 12:59:20 -0800</creation_ts>
          <short_desc>[GStreamer] Several layout tests trigger GStreamer-CRITICAL **: gst_bin_get_by_name: assertion &apos;GST_IS_BIN (bin)&apos; failed</short_desc>
          <delta_ts>2017-02-23 08:30:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>agomez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1266560</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-01-13 12:59:20 -0800</bug_when>
    <thetext>The following layout tests:

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

Have this critical warning printed in stderr output:

GStreamer-CRITICAL **: gst_bin_get_by_name: assertion &apos;GST_IS_BIN (bin)&apos; failed

The video-redirect.html test has the error printed twice.

The best way to debug such issues is to use the environment variable G_DEBUG=fatal-criticals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266565</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-01-13 13:06:35 -0800</bug_when>
    <thetext>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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278938</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-20 08:48:04 -0800</bug_when>
    <thetext>*** Bug 168588 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278939</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-20 08:48:27 -0800</bug_when>
    <thetext>Please refer to bug #168588 for a backtrace to this critical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279858</commentid>
    <comment_count>4</comment_count>
      <attachid>302388</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-02-22 05:05:30 -0800</bug_when>
    <thetext>Created attachment 302388
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280224</commentid>
    <comment_count>5</comment_count>
      <attachid>302388</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-02-23 00:56:48 -0800</bug_when>
    <thetext>Comment on attachment 302388
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=302388&amp;action=review

&gt; Source/WebCore/ChangeLog:16
&gt; +        (WebCore::MediaPlayerPrivateGStreamer::ensureAudioSourceProvider): Create the AudioSourceProvider is needed.

I guess you mean &quot;if&quot;

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2059
&gt; +void MediaPlayerPrivateGStreamer::ensureAudioSourceProvider()
&gt; +{
&gt; +    if (!m_audioSourceProvider)
&gt; +        m_audioSourceProvider = std::make_unique&lt;AudioSourceProviderGStreamer&gt;();
&gt; +}
&gt; +
&gt; +AudioSourceProvider* MediaPlayerPrivateGStreamer::audioSourceProvider()
&gt; +{
&gt; +    ensureAudioSourceProvider();
&gt; +    return m_audioSourceProvider.get();
&gt; +}

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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280286</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-02-23 08:30:44 -0800</bug_when>
    <thetext>Committed r212889: &lt;http://trac.webkit.org/changeset/212889&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302388</attachid>
            <date>2017-02-22 05:05:30 -0800</date>
            <delta_ts>2017-02-23 08:26:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-gst-critical.diff</filename>
            <type>text/plain</type>
            <size>5145</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3YWYxOWIxNDYxYy4uMzVjNmU4NTcxMzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyNCBAQAogMjAxNy0wMi0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKKyAgICAgICAgW0dTdHJlYW1lcl0gU2V2ZXJhbCBsYXlvdXQgdGVzdHMgdHJp
Z2dlciBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF9iaW5fZ2V0X2J5X25hbWU6IGFzc2VydGlv
biAnR1NUX0lTX0JJTiAoYmluKScgZmFpbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcwMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGJlY2F1c2Ugd2UgY3JlYXRlIEF1ZGlvU291cmNl
UHJvdmlkZXJHU3RyZWFtZXIgb2JqZWN0cyB0aGF0IGFyZSBuZXZlciBsb2FkZWQuIEluIHRoZSBk
ZXN0cnVjdG9yIHRoZQorICAgICAgICBBdWRpb1NvdXJjZVByb3ZpZGVyR1N0cmVhbWVyIGNhbGxz
IGdzdF9iaW5fZ2V0X2J5X25hbWUoKSBvbiBpdHMgbV9hdWRpb1NpbmtCaW4gdGhhdCBpcyBudWxs
cHRyLiBXZSBjb3VsZCBzaW1wbHkKKyAgICAgICAgY2hlY2sgbV9hdWRpb1NpbmtCaW4gaW4gdGhl
IGRlc3RydWN0b3IsIGJ1dCBJIHRoaW5rIGl0J3MgYmV0dGVyIHRvIHNpbXBseSBub3QgY3JlYXRl
CisgICAgICAgIEF1ZGlvU291cmNlUHJvdmlkZXJHU3RyZWFtZXIgZm9yIG5vdGhpbmcuIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lciBzaG91bGQgY3JlYXRlIHRoZSBBdWRpb1NvdXJjZVByb3Zp
ZGVyIG9uIGRlbWFuZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIpOiBEbyBu
b3QgY3JlYXRlIHRoZSBBdWRpb1NvdXJjZVByb3ZpZGVyLgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVBdWRpb1NpbmspOiBDYWxsIGVuc3VyZUF1
ZGlvU291cmNlUHJvdmlkZXIoKSBiZWZvcmUgdXNpbmcgbV9hdWRpb1NvdXJjZVByb3ZpZGVyLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjplbnN1cmVBdWRp
b1NvdXJjZVByb3ZpZGVyKTogQ3JlYXRlIHRoZSBBdWRpb1NvdXJjZVByb3ZpZGVyIGlzIG5lZWRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6YXVkaW9T
b3VyY2VQcm92aWRlcik6IEVuc3VyZSBhbmQgcmV0dXJuIHRoZSBtX2F1ZGlvU291cmNlUHJvdmlk
ZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5oOgorCisyMDE3LTAyLTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KKwogICAgICAgICBbR1N0cmVhbWVyXSBDcmFzaCBpbiBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJNU0U6OmJ1ZmZlcmVkKCkgd2hlbiBNRURJQV9TVFJFQU0gaXMg
ZGlzYWJsZWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2ODY2MgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwCmluZGV4IDNkMWY2Mzg5NTI2Li5mY2NlZTNjYzhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE3MSw5ICsxNzEsNiBAQCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcihNZWRp
YVBsYXllciogcGxheWVyKQogICAgICwgbV9yZWFkeVRpbWVySGFuZGxlcihSdW5Mb29wOjptYWlu
KCksIHRoaXMsICZNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnJlYWR5VGltZXJGaXJlZCkK
ICAgICAsIG1fdG90YWxCeXRlcygwKQogICAgICwgbV9wcmVzZXJ2ZXNQaXRjaChmYWxzZSkKLSNp
ZiBFTkFCTEUoV0VCX0FVRElPKQotICAgICwgbV9hdWRpb1NvdXJjZVByb3ZpZGVyKHN0ZDo6bWFr
ZV91bmlxdWU8QXVkaW9Tb3VyY2VQcm92aWRlckdTdHJlYW1lcj4oKSkKLSNlbmRpZgogewogI2lm
IFVTRShHTElCKQogICAgIG1fcmVhZHlUaW1lckhhbmRsZXIuc2V0UHJpb3JpdHkoR19QUklPUklU
WV9ERUZBVUxUX0lETEUpOwpAQCAtMTk5MSw2ICsxOTg4LDcgQEAgR3N0RWxlbWVudCogTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVBdWRpb1NpbmsoKQogICAgIGlmICh3ZWJraXRH
c3RDaGVja1ZlcnNpb24oMSwgNCwgMikpIHsKICNpZiBFTkFCTEUoV0VCX0FVRElPKQogICAgICAg
ICBhdWRpb1NpbmtCaW4gPSBnc3RfYmluX25ldygiYXVkaW8tc2luayIpOworICAgICAgICBlbnN1
cmVBdWRpb1NvdXJjZVByb3ZpZGVyKCk7CiAgICAgICAgIG1fYXVkaW9Tb3VyY2VQcm92aWRlci0+
Y29uZmlndXJlQXVkaW9CaW4oYXVkaW9TaW5rQmluLCBudWxscHRyKTsKICAgICAgICAgcmV0dXJu
IGF1ZGlvU2lua0JpbjsKICNlbHNlCkBAIC0yMDEzLDYgKzIwMTEsNyBAQCBHc3RFbGVtZW50KiBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUF1ZGlvU2luaygpCiAgICAgICAgIGdz
dF9lbGVtZW50X2FkZF9wYWQoYXVkaW9TaW5rQmluLCBnc3RfZ2hvc3RfcGFkX25ldygic2luayIs
IHBhZC5nZXQoKSkpOwogCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKKyAgICAgICAgZW5zdXJlQXVk
aW9Tb3VyY2VQcm92aWRlcigpOwogICAgICAgICBtX2F1ZGlvU291cmNlUHJvdmlkZXItPmNvbmZp
Z3VyZUF1ZGlvQmluKGF1ZGlvU2lua0Jpbiwgc2NhbGUpOwogI2Vsc2UKICAgICAgICAgR3N0RWxl
bWVudCogY29udmVydCA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgiYXVkaW9jb252ZXJ0Iiwg
bnVsbHB0cik7CkBAIC0yMDMxLDYgKzIwMzAsNyBAQCBHc3RFbGVtZW50KiBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUF1ZGlvU2luaygpCiAKICNpZiBFTkFCTEUoV0VCX0FVRElP
KQogICAgIGF1ZGlvU2lua0JpbiA9IGdzdF9iaW5fbmV3KCJhdWRpby1zaW5rIik7CisgICAgZW5z
dXJlQXVkaW9Tb3VyY2VQcm92aWRlcigpOwogICAgIG1fYXVkaW9Tb3VyY2VQcm92aWRlci0+Y29u
ZmlndXJlQXVkaW9CaW4oYXVkaW9TaW5rQmluLCBudWxscHRyKTsKICAgICByZXR1cm4gYXVkaW9T
aW5rQmluOwogI2VuZGlmCkBAIC0yMDQ1LDYgKzIwNDUsMjAgQEAgR3N0RWxlbWVudCogTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjphdWRpb1NpbmsoKSBjb25zdAogICAgIHJldHVybiBzaW5r
OwogfQogCisjaWYgRU5BQkxFKFdFQl9BVURJTykKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjplbnN1cmVBdWRpb1NvdXJjZVByb3ZpZGVyKCkKK3sKKyAgICBpZiAoIW1fYXVkaW9T
b3VyY2VQcm92aWRlcikKKyAgICAgICAgbV9hdWRpb1NvdXJjZVByb3ZpZGVyID0gc3RkOjptYWtl
X3VuaXF1ZTxBdWRpb1NvdXJjZVByb3ZpZGVyR1N0cmVhbWVyPigpOworfQorCitBdWRpb1NvdXJj
ZVByb3ZpZGVyKiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmF1ZGlvU291cmNlUHJvdmlk
ZXIoKQoreworICAgIGVuc3VyZUF1ZGlvU291cmNlUHJvdmlkZXIoKTsKKyAgICByZXR1cm4gbV9h
dWRpb1NvdXJjZVByb3ZpZGVyLmdldCgpOworfQorI2VuZGlmCisKIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKCkKIHsKICAgICBBU1NFUlQoIW1fcGlw
ZWxpbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmlu
ZGV4IGFlYTZjZTFjMjIxLi42YzZhMzljYTEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuaApAQCAtMTI3LDcgKzEyNyw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgY2hhbmdlUGlwZWxpbmVTdGF0ZShHc3RTdGF0ZSk7CiAKICNpZiBFTkFCTEUo
V0VCX0FVRElPKQotICAgIEF1ZGlvU291cmNlUHJvdmlkZXIqIGF1ZGlvU291cmNlUHJvdmlkZXIo
KSBvdmVycmlkZSB7IHJldHVybiByZWludGVycHJldF9jYXN0PEF1ZGlvU291cmNlUHJvdmlkZXIq
PihtX2F1ZGlvU291cmNlUHJvdmlkZXIuZ2V0KCkpOyB9CisgICAgQXVkaW9Tb3VyY2VQcm92aWRl
ciogYXVkaW9Tb3VyY2VQcm92aWRlcigpIG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICBib29sIGlz
TGl2ZVN0cmVhbSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNTdHJlYW1pbmc7IH0KQEAg
LTIwOCw2ICsyMDgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBuZXdUZXh0U2FtcGxlKCk7CiAj
ZW5kaWYKIAorICAgIHZvaWQgZW5zdXJlQXVkaW9Tb3VyY2VQcm92aWRlcigpOwogICAgIHZvaWQg
c2V0QXVkaW9TdHJlYW1Qcm9wZXJ0aWVzKEdPYmplY3QqKTsKIAogICAgIHN0YXRpYyB2b2lkIHNl
dEF1ZGlvU3RyZWFtUHJvcGVydGllc0NhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ciosIEdPYmplY3QqKTsK
</data>
<flag name="review"
          id="324123"
          type_id="1"
          status="+"
          setter="calvaris"
    />
          </attachment>
      

    </bug>

</bugzilla>