<?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>137305</bug_id>
          
          <creation_ts>2014-10-01 11:25:29 -0700</creation_ts>
          <short_desc>Calling WebCore::Page::setMediaVolume(0) does not mute videos as expected</short_desc>
          <delta_ts>2014-10-21 17:19:22 -0700</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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ada Chan">adachan</reporter>
          <assigned_to name="Ada Chan">adachan</assigned_to>
          <cc>adachan</cc>
    
    <cc>bshafiei</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1038599</commentid>
    <comment_count>0</comment_count>
    <who name="Ada Chan">adachan</who>
    <bug_when>2014-10-01 11:25:29 -0700</bug_when>
    <thetext>I have a simple test page with a video element in it:

&lt;div id=target style=&quot;border: solid;&quot;&gt;
    &lt;video src=&quot;http://movies.apple.com/movies/us/apple/ipoditunes/2007/touch/ads/apple_ipodtouch_touch_r640-9cie.mov&quot; autoplay controls&gt;&lt;/video&gt;
&lt;/div&gt;

I set the page&apos;s media volume to 0 with WKPageSetMediaVolume(0).  But I can still hear the video playing.

Looking at HTMLMediaElement::updateVolume(), it looks like the volume multiplier is only applied if m_volumeInitialized is true, and in this case it&apos;s not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041012</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-10-10 13:32:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/18614742&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043223</commentid>
    <comment_count>2</comment_count>
    <who name="Ada Chan">adachan</who>
    <bug_when>2014-10-21 10:42:50 -0700</bug_when>
    <thetext>Looks like this was broken in http://trac.webkit.org/changeset/154970.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043235</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-10-21 11:20:30 -0700</bug_when>
    <thetext>Removing the &quot;if (m_volumeInitialized)&quot; check in HTMLMediaElement::updateVolume will fix this problem, and I don&apos;t *think* it will change the GStreamer behavior because MediaPlayerPrivateGStreamerBase::setStreamVolumeElement does nothing unless m_volumeInitialized is true (HTMLMediaElement::mediaPlayerPlatformVolumeConfigurationRequired).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043275</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-10-21 14:03:11 -0700</bug_when>
    <thetext>Sorry for the breakage :(

Looking at r154970 too, I agree with Eric that it should be enough to remove the &quot;if (m_volumeInitialized)&quot; test from ::updateVolume()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043292</commentid>
    <comment_count>5</comment_count>
      <attachid>240225</attachid>
    <who name="Ada Chan">adachan</who>
    <bug_when>2014-10-21 15:48:46 -0700</bug_when>
    <thetext>Created attachment 240225
Patch

Please let me know if there&apos;s a way to write a test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043313</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-10-21 17:04:59 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created attachment 240225 [details]
&gt; Patch
&gt; 
&gt; Please let me know if there&apos;s a way to write a test for this.
&gt;
I don&apos;t think there is a way to add a test for this change, because any problems will only happen to users of the GTK port with some versions of pulse audio. 

You might be able to add a test for Page::setMediaVolume to ensure that it isn&apos;t broken in the future, but that will require fairly invasive changes so I am not sure it is worth while.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043317</commentid>
    <comment_count>7</comment_count>
    <who name="Ada Chan">adachan</who>
    <bug_when>2014-10-21 17:19:22 -0700</bug_when>
    <thetext>Eric and Philippe: thanks for your help!

Committed:
http://trac.webkit.org/changeset/175003</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240225</attachid>
            <date>2014-10-21 15:48:46 -0700</date>
            <delta_ts>2014-10-21 15:56:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Calling-WebCore-Page-setMediaVolume-0-does-not-mute-.patch</filename>
            <type>text/plain</type>
            <size>2563</size>
            <attacher name="Ada Chan">adachan</attacher>
            
              <data encoding="base64">RnJvbSBmMDA1ZjZlNmRhZWQzZGEyNGJlOWZkMzFkYzIyNmVlOGE4OGExNzhlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGEgQ2hhbiA8YWRhY2hhbkBhcHBsZS5jb20+CkRhdGU6IFR1
ZSwgMjEgT2N0IDIwMTQgMTU6NDc6MjYgLTA3MDAKU3ViamVjdDogW1BBVENIXSBDYWxsaW5nIFdl
YkNvcmU6OlBhZ2U6OnNldE1lZGlhVm9sdW1lKDApIGRvZXMgbm90IG11dGUgdmlkZW9zCiBhcyBl
eHBlY3RlZC4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzMwNQoK
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpUaGlzIHdhcyBicm9rZW4gaW4gaHR0cDovL3Ry
YWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTU0OTcwLiBUbyBmaXggdGhpcyAoYnV0IG5vdCBicmVh
awpHU3RyZWFtZXIpLCByZW1vdmUgdGhlICJpZiAobV92b2x1bWVJbml0aWFsaXplZCkiIGNoZWNr
IGJlZm9yZSB1cGRhdGluZyB0aGUgTWVkaWFQbGF5ZXIncwp2b2x1bWUgdG8gdGhlIHZhbHVlIG11
bHRpcGxpZWQgd2l0aCB0aGUgUGFnZSdzIG1lZGlhVm9sdW1lLiBUaGlzIHNob3VsZCBub3QgYWZm
ZWN0IEdTdHJlYW1lcidzCmJlaGF2aW9yIGJlY2F1c2UgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZTo6c2V0U3RyZWFtVm9sdW1lRWxlbWVudCBkb2VzIG5vdGhpbmcgdW5sZXNzCm1fdm9s
dW1lSW5pdGlhbGl6ZWQgaXMgdHJ1ZS4KCiogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZVZvbHVtZSk6Ci0tLQogU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgfCAgMyArLS0KIDIgZmlsZXMgY2hh
bmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODM2
YmI3Ny4uNzc4MGVjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTEwLTIxICBB
ZGEgQ2hhbiAgPGFkYWNoYW5AYXBwbGUuY29tPgorCisgICAgICAgIENhbGxpbmcgV2ViQ29yZTo6
UGFnZTo6c2V0TWVkaWFWb2x1bWUoMCkgZG9lcyBub3QgbXV0ZSB2aWRlb3MgYXMgZXhwZWN0ZWQu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzczMDUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHdh
cyBicm9rZW4gaW4gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTU0OTcwLiBUbyBm
aXggdGhpcyAoYnV0IG5vdCBicmVhaworICAgICAgICBHU3RyZWFtZXIpLCByZW1vdmUgdGhlICJp
ZiAobV92b2x1bWVJbml0aWFsaXplZCkiIGNoZWNrIGJlZm9yZSB1cGRhdGluZyB0aGUgTWVkaWFQ
bGF5ZXIncworICAgICAgICB2b2x1bWUgdG8gdGhlIHZhbHVlIG11bHRpcGxpZWQgd2l0aCB0aGUg
UGFnZSdzIG1lZGlhVm9sdW1lLiBUaGlzIHNob3VsZCBub3QgYWZmZWN0IEdTdHJlYW1lcidzCisg
ICAgICAgIGJlaGF2aW9yIGJlY2F1c2UgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6
c2V0U3RyZWFtVm9sdW1lRWxlbWVudCBkb2VzIG5vdGhpbmcgdW5sZXNzCisgICAgICAgIG1fdm9s
dW1lSW5pdGlhbGl6ZWQgaXMgdHJ1ZS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVWb2x1bWUp
OgorCiAyMDE0LTEwLTIxICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTjogR29vZ2xlIFNlYXJjaCAobW9iaWxlKSB2aWRlbyB0aHVtYm5haWxzIGFy
ZSB0b28gbGFyZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRl
eCAxZGFhYjE4Li4yMDRkMjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKQEAgLTQ0NzcsOCArNDQ3Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXBkYXRl
Vm9sdW1lKCkKICAgICAgICAgfQogCiAgICAgICAgIG1fcGxheWVyLT5zZXRNdXRlZChzaG91bGRN
dXRlKTsKLSAgICAgICAgaWYgKG1fdm9sdW1lSW5pdGlhbGl6ZWQpCi0gICAgICAgICAgICBtX3Bs
YXllci0+c2V0Vm9sdW1lKG1fdm9sdW1lICogdm9sdW1lTXVsdGlwbGllcik7CisgICAgICAgIG1f
cGxheWVyLT5zZXRWb2x1bWUobV92b2x1bWUgKiB2b2x1bWVNdWx0aXBsaWVyKTsKICAgICB9CiAK
ICAgICBpZiAoaGFzTWVkaWFDb250cm9scygpKQotLSAKMS45LjMgKEFwcGxlIEdpdC01MCkKCg==
</data>
<flag name="review"
          id="264995"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>