<?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>54140</bug_id>
          
          <creation_ts>2011-02-09 13:38:53 -0800</creation_ts>
          <short_desc>[GStreamer] Video player sets system volume to 100%</short_desc>
          <delta_ts>2015-07-08 07:13:05 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=145609</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=140358</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>118974</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Jonathon Jongsma (jonner)">jonathon</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>348527</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2011-02-09 13:38:53 -0800</bug_when>
    <thetext>My computer&apos;s system volume is usually set around 25%, which is fairly loud.  Whenever I open a page in webkitgtk (via Epiphany) with an html5 video, the player automatically sets its volume to 100%.  This in turn drags the system volume up to 100%, resulting in me blasted and frantically reaching for the volume knob in an effort to save my ears.

In case it&apos;s helpful, my system does use pulseaudio, and I can reproduce this behavior with other gstreamer apps (e.g. rhythmbox) by dragging their application volume knob up to 100%.  This makes me think that this is the expected behavior when setting an application&apos;s volume to 100%.  Therefore, it seems to me that it is wrong for the webkit player to set its volume to 100%.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348556</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-09 14:09:23 -0800</bug_when>
    <thetext>Right, I&apos;ll look into it tomorrow, thanks Jonathon for reporting this issue!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349677</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-11 00:30:08 -0800</bug_when>
    <thetext>I tracked down this issue to gstreamer&apos;s pulsesink :/
Can you try this in command line? This is more or less the equivalent of what our player does and I can reproduce the volume issue with this:

gst-launch-0.10 playbin2 volume=1 uri=file://....

Removing volume=1 fixes the problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349705</commentid>
    <comment_count>3</comment_count>
      <attachid>82119</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-11 03:57:53 -0800</bug_when>
    <thetext>Created attachment 82119
proposed patch

Can you test this workaround? I believe the real issue is either in
pulsesink or PulseAudio itself :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349777</commentid>
    <comment_count>4</comment_count>
      <attachid>82119</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-02-11 07:50:54 -0800</bug_when>
    <thetext>Comment on attachment 82119
proposed patch

Seems reasonable. I guess it just limits when the bug occurs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349800</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2011-02-11 09:13:15 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; I tracked down this issue to gstreamer&apos;s pulsesink :/
&gt; Can you try this in command line? This is more or less the equivalent of what our player does and I can reproduce the volume issue with this:
&gt; 
&gt; gst-launch-0.10 playbin2 volume=1 uri=file://....
&gt; 
&gt; Removing volume=1 fixes the problem

Yes, I can reproduce with that command line.  That&apos;s the same case as I was talking about in my initial case where increasing the rhythmbox application volume slider to 100% also drags the system volume upw ith it.  And my suspicion is that this is how pulseaudio is *supposed* to work (e.g. I wouldn&apos;t be surprised at all if the gstreamer/pulse guys said that this is not a bug).  

I think the workaround is actually more harmful than good.  Because initially it&apos;ll start out at a normal volume (with system volue set at ~25%), but if you try to adjust the volume down slightly in the webkit player (e.g. to ~90%), your system volume will suddenly be set to 90% and you&apos;ll get blasted even though you were trying to reduce the volume.  Or do I misunderstand the patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349822</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2011-02-11 10:16:42 -0800</bug_when>
    <thetext>OK, I just talked with some gstreamer / pulseaudio people and they confirmed that this is indeed how things are supposed to work.  The system volume is always equal to the volume level of the loudest stream.   What this means is that explicitly setting the webkit player stream to 1.0 will *always* set the system volume to the maximum value.  This is clearly very bad when it happens automatically at startup.

Looking at the html5 spec for audio volume, I notice that it says: &quot;Initially, the volume must be 1.0, but user agents may remember the last set value across sessions, on a per-site basis or otherwise, so the volume may start at other values&quot;.  It seems to me that this allows browsers to ignore the initial volume and still satisfy the spec.

So I see 2 basic options forward:
1) always treat the DOM volume property as a percentage of system volume.  So for example, when the volume is set to 0.9, you need to read the system value, and then set your gstreamer stream volume to 0.9*system.  
2) Ignore the initial 1.0 value at startup and instead set the DOM value of your volume property to the current system volume.  Setting the volume to 1.0 will still result in very loud audio, but if the user can see that the volume is currently at 0.25 and they still drag the volume slider all the way up to 1.0, they will expect it to get much louder.

Option 2 seems to be the way that all other gstreamer clients behave (e.g. totem, rhythmbox), the only difference being that those applications don&apos;t change the volume unless the user requested it, so the user knows what to expect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349834</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-11 10:40:12 -0800</bug_when>
    <thetext>In playbin the default volume is 1.0 anyway. What&apos;s not normal is that nevertheless if we explicitely set it to 1.0 the global volume jumps to 100%. This should not happen IMHO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350640</commentid>
    <comment_count>8</comment_count>
      <attachid>82313</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-14 06:51:58 -0800</bug_when>
    <thetext>Created attachment 82313
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350716</commentid>
    <comment_count>9</comment_count>
      <attachid>82327</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-14 09:48:22 -0800</bug_when>
    <thetext>Created attachment 82327
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351309</commentid>
    <comment_count>10</comment_count>
      <attachid>82327</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-02-15 08:51:13 -0800</bug_when>
    <thetext>Comment on attachment 82327
updated patch

Seems sane.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351321</commentid>
    <comment_count>11</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-15 08:59:47 -0800</bug_when>
    <thetext>Committed r78571: &lt;http://trac.webkit.org/changeset/78571&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351564</commentid>
    <comment_count>12</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2011-02-15 14:10:52 -0800</bug_when>
    <thetext>I&apos;ve now tested this patch, and while it certainly improves things, it does exactly what I predicted it would do in comment #5.  

When the video starts, it doesn&apos;t set the stream volume to 1.0, which means that the video starts playing at a sane volume and does not blast my ears.  So far so good.   

However, even though you didnt&apos; set the gstreamer stream volume to 1.0, the value of the volume DOM property is still set to 1.0, so the player still believes that the volume of the stream is set to 1.0.  Because of this, the player&apos;s volume slider control is shown at its highest level.

Now imagine that I want to reduce the volume of the video slightly, so I drag the volume control slider down a bit (to ~80% or something).  Suddenly the gstreamer stream volume gets set to 0.8 and I get blasted by really loud volume again even though I actually dragged the volume control *down* instead of up.

So while this patch improves things in one situation, it&apos;s certainly not a complete fix for the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351949</commentid>
    <comment_count>13</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-16 02:51:12 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; I&apos;ve now tested this patch, and while it certainly improves things, it does exactly what I predicted it would do in comment #5.  
&gt; 
&gt; When the video starts, it doesn&apos;t set the stream volume to 1.0, which means that the video starts playing at a sane volume and does not blast my ears.  So far so good.   
&gt; 
&gt; However, even though you didnt&apos; set the gstreamer stream volume to 1.0, the value of the volume DOM property is still set to 1.0, so the player still believes that the volume of the stream is set to 1.0.  Because of this, the player&apos;s volume slider control is shown at its highest level.
&gt; 

What&apos;s your use-case exactly?

I can indeed reproduce the issue you mention with the vimeo player but not with pages using the native controls, like http://www.w3.org/2010/05/video/mediaevents.html

With the page above you indeed should see the initial volume as 1.0 but once playback starts, pulsesink notifies our player of the restored stream volume value and the DOM property is update accordingly, the volume slider is not stuck at 1.0 then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351950</commentid>
    <comment_count>14</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-16 02:52:29 -0800</bug_when>
    <thetext>Please open a clone of this bug if needed. We usually don&apos;t reopen bugs unless the patch is rolled out, which is not the case here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352041</commentid>
    <comment_count>15</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2011-02-16 06:56:10 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Please open a clone of this bug if needed. We usually don&apos;t reopen bugs unless the patch is rolled out, which is not the case here.

OK, sorry for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353156</commentid>
    <comment_count>16</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-02-17 13:50:19 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #14)
&gt; &gt; Please open a clone of this bug if needed. We usually don&apos;t reopen bugs unless the patch is rolled out, which is not the case here.
&gt; 
&gt; OK, sorry for that.

Did you open a new bug? I think we should make sure the DOM value is set even before pulsesink notifies us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910716</commentid>
    <comment_count>17</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2013-07-22 10:31:52 -0700</bug_when>
    <thetext>I finally did clone this bug.  Sorry for the huge delay.  But it&apos;s still easily reproducible in epiphany.  see  Bug 118974</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82119</attachid>
            <date>2011-02-11 03:57:53 -0800</date>
            <delta_ts>2011-02-14 06:53:36 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>proposed-patch.patch</filename>
            <type>text/plain</type>
            <size>2434</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA4OWM1YjVjMjE5YTAyNDUxMTJmNmY1MmJiOWVmNjEzMWU2MmJjNmM1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBGcmksIDExIEZlYiAyMDExIDEyOjU2OjEzICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
cHJvcG9zZWQgcGF0Y2gKCi0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDE0ICsrKysrKysrKysrKysrCiAuLi4vZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgICAgICB8ICAgIDggKysrKysrKy0KIDIgZmlsZXMg
Y2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmUzMTk0MC4uNjk0ZTkwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAyLTEx
ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1N0cmVhbWVyXSBWaWRlbyBwbGF5
ZXIgc2V0cyBzeXN0ZW0gdm9sdW1lIHRvIDEwMCUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU0MTQwCisKKyAgICAgICAgV29ya2Fyb3VuZCBmb3IgcHVs
c2VzaW5rIHNldHRpbmcgZ2xvYmFsIHZvbHVtZSBpbnN0ZWFkIG9mCisgICAgICAgIHN0cmVhbSB2
b2x1bWUgdG8gMTAwJS4gRXhwbGljaXRlbHkgc2V0IGluaXRpYWwgcGxheWJpbiB2b2x1bWUKKyAg
ICAgICAgb25seSBpZiBpdCBkaWZmZXJzIGZyb20gdGhlIGRlZmF1bHQgdmFsdWUuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
Y3JlYXRlR1NUUGxheUJpbik6CisKIDIwMTEtMDItMDkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2Vx
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA2OWJk
ZWFiLi43NjdiYjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmNwcApAQCAtMTU2MSw3ICsxNTYxLDEzIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKCkKICAgICBnX3NpZ25hbF9jb25uZWN0KGJ1cywg
Im1lc3NhZ2UiLCBHX0NBTExCQUNLKG1lZGlhUGxheWVyUHJpdmF0ZU1lc3NhZ2VDYWxsYmFjayks
IHRoaXMpOwogICAgIGdzdF9vYmplY3RfdW5yZWYoYnVzKTsKIAotICAgIGdfb2JqZWN0X3NldCht
X3BsYXlCaW4sICJtdXRlIiwgbV9wbGF5ZXItPm11dGVkKCksICJ2b2x1bWUiLCBtX3BsYXllci0+
dm9sdW1lKCksIE5VTEwpOworICAgIGdfb2JqZWN0X3NldChtX3BsYXlCaW4sICJtdXRlIiwgbV9w
bGF5ZXItPm11dGVkKCksIE5VTEwpOworCisgICAgLy8gV29ya2Fyb3VuZCBmb3IgcHVsc2VzaW5r
IHNldHRpbmcgZ2xvYmFsIHZvbHVtZSBpbnN0ZWFkIG9mCisgICAgLy8gc3RyZWFtIHZvbHVtZSB0
byAxMDAlLiBFeHBsaWNpdGVseSBzZXQgaW5pdGlhbCBwbGF5YmluIHZvbHVtZQorICAgIC8vIG9u
bHkgaWYgaXQgZGlmZmVycyBmcm9tIHRoZSBkZWZhdWx0IHZhbHVlLgorICAgIGlmIChtX3BsYXll
ci0+dm9sdW1lKCkgPCAxLjBmKQorICAgICAgICBnX29iamVjdF9zZXQobV9wbGF5QmluLCAidm9s
dW1lIiwgbV9wbGF5ZXItPnZvbHVtZSgpLCBOVUxMKTsKIAogICAgIGdfc2lnbmFsX2Nvbm5lY3Qo
bV9wbGF5QmluLCAibm90aWZ5Ojp2b2x1bWUiLCBHX0NBTExCQUNLKG1lZGlhUGxheWVyUHJpdmF0
ZVZvbHVtZUNoYW5nZWRDYWxsYmFjayksIHRoaXMpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9w
bGF5QmluLCAibm90aWZ5Ojpzb3VyY2UiLCBHX0NBTExCQUNLKG1lZGlhUGxheWVyUHJpdmF0ZVNv
dXJjZUNoYW5nZWRDYWxsYmFjayksIHRoaXMpOwotLSAKMS43LjIuMw==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82313</attachid>
            <date>2011-02-14 06:51:58 -0800</date>
            <delta_ts>2011-02-14 09:48:22 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>updated-patch.patch</filename>
            <type>text/plain</type>
            <size>3185</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA1OTg2ZDVhNmMzMDdmN2ZkN2M2ZmQxZGIyODM1M2Y1NGY3Nzk5NjYwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBGcmksIDExIEZlYiAyMDExIDEyOjU2OjEzICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
dXBkYXRlZCBwYXRjaAoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMTUgKysrKysrKysrKysrKysrCiAuLi4vZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgICAgICB8ICAgIDkgKysrKysrLS0tCiAyIGZpbGVz
IGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGZlMzE5NDAuLjcwNzg5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wMi0x
MSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dTdHJlYW1lcl0gVmlkZW8gcGxh
eWVyIHNldHMgc3lzdGVtIHZvbHVtZSB0byAxMDAlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDE0MAorCisgICAgICAgIERvbid0IGV4cGxpY2l0ZWx5
IHNldCB2b2x1bWUgYXQgc3RhcnR1cCBhbmQgdXNlIHRoZQorICAgICAgICBHc3RTdHJlYW1Wb2x1
bWUgaW50ZXJmYWNlIHdpdGggY3ViaWMgdm9sdW1lIHNjYWxlIHdoZW4KKyAgICAgICAgdXBkYXRp
bmcvcmV0cmlldmluZyB0aGUgdm9sdW1lIHZhbHVlLiBUaGlzIGdpdmVzIGEgbXVjaCBiZXR0ZXIK
KyAgICAgICAgdXNlci1leHBlcmllbmNlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4pOgorCiAy
MDExLTAyLTA5ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggNjliZGVhYi4uOTAzY2Q2YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTQ2LDYgKzQ2
LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuaCIKICNpbmNsdWRlIDxH
T3duUHRyLmg+CiAjaW5jbHVkZSA8Z3N0L2dzdC5oPgorI2luY2x1ZGUgPGdzdC9pbnRlcmZhY2Vz
L3N0cmVhbXZvbHVtZS5oPgogI2luY2x1ZGUgPGdzdC92aWRlby92aWRlby5oPgogI2luY2x1ZGUg
PGxpbWl0cz4KICNpbmNsdWRlIDxtYXRoLmg+CkBAIC02NDAsNyArNjQxLDggQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFZvbHVtZShmbG9hdCB2b2x1bWUpCiAgICAgaWYg
KCFtX3BsYXlCaW4pCiAgICAgICAgIHJldHVybjsKIAotICAgIGdfb2JqZWN0X3NldChtX3BsYXlC
aW4sICJ2b2x1bWUiLCBzdGF0aWNfY2FzdDxkb3VibGU+KHZvbHVtZSksIE5VTEwpOworICAgIGdz
dF9zdHJlYW1fdm9sdW1lX3NldF92b2x1bWUoR1NUX1NUUkVBTV9WT0xVTUUobV9wbGF5QmluKSwg
R1NUX1NUUkVBTV9WT0xVTUVfRk9STUFUX0NVQklDLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPih2b2x1bWUpKTsKIH0KIAogdm9pZCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6Om5vdGlmeVBsYXllck9mVm9sdW1lQ2hhbmdlKCkKQEAgLTY1
MCw3ICs2NTIsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bm90aWZ5UGxh
eWVyT2ZWb2x1bWVDaGFuZ2UoKQogICAgIGlmICghbV9wbGF5ZXIgfHwgIW1fcGxheUJpbikKICAg
ICAgICAgcmV0dXJuOwogICAgIGRvdWJsZSB2b2x1bWU7Ci0gICAgZ19vYmplY3RfZ2V0KG1fcGxh
eUJpbiwgInZvbHVtZSIsICZ2b2x1bWUsIE5VTEwpOworICAgIHZvbHVtZSA9IGdzdF9zdHJlYW1f
dm9sdW1lX2dldF92b2x1bWUoR1NUX1NUUkVBTV9WT0xVTUUobV9wbGF5QmluKSwgR1NUX1NUUkVB
TV9WT0xVTUVfRk9STUFUX0NVQklDKTsKKwogICAgIG1fcGxheWVyLT52b2x1bWVDaGFuZ2VkKHN0
YXRpY19jYXN0PGZsb2F0Pih2b2x1bWUpKTsKIH0KIApAQCAtMTU2MSw3ICsxNTY0LDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4oKQogICAgIGdf
c2lnbmFsX2Nvbm5lY3QoYnVzLCAibWVzc2FnZSIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2
YXRlTWVzc2FnZUNhbGxiYWNrKSwgdGhpcyk7CiAgICAgZ3N0X29iamVjdF91bnJlZihidXMpOwog
Ci0gICAgZ19vYmplY3Rfc2V0KG1fcGxheUJpbiwgIm11dGUiLCBtX3BsYXllci0+bXV0ZWQoKSwg
InZvbHVtZSIsIG1fcGxheWVyLT52b2x1bWUoKSwgTlVMTCk7CisgICAgZ19vYmplY3Rfc2V0KG1f
cGxheUJpbiwgIm11dGUiLCBtX3BsYXllci0+bXV0ZWQoKSwgTlVMTCk7CiAKICAgICBnX3NpZ25h
bF9jb25uZWN0KG1fcGxheUJpbiwgIm5vdGlmeTo6dm9sdW1lIiwgR19DQUxMQkFDSyhtZWRpYVBs
YXllclByaXZhdGVWb2x1bWVDaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKICAgICBnX3NpZ25hbF9j
b25uZWN0KG1fcGxheUJpbiwgIm5vdGlmeTo6c291cmNlIiwgR19DQUxMQkFDSyhtZWRpYVBsYXll
clByaXZhdGVTb3VyY2VDaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKLS0gCjEuNy4yLjM=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82327</attachid>
            <date>2011-02-14 09:48:22 -0800</date>
            <delta_ts>2011-02-15 08:51:13 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>updated-patch.patch</filename>
            <type>text/plain</type>
            <size>3401</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA3ZmM1NzM0ODI4ODJlNzMyNTYxNWRkZWZiYmZkYWExYjkxOTYwMDhlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBGcmksIDExIEZlYiAyMDExIDEyOjU2OjEzICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
dXBkYXRlZCBwYXRjaAoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMTUgKysrKysrKysrKysrKysrCiAuLi4vZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgICAgICB8ICAgMTIgKysrKysrKysrLS0tCiAyIGZp
bGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGZlMzE5NDAuLjcwNzg5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0w
Mi0xMSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dTdHJlYW1lcl0gVmlkZW8g
cGxheWVyIHNldHMgc3lzdGVtIHZvbHVtZSB0byAxMDAlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDE0MAorCisgICAgICAgIERvbid0IGV4cGxpY2l0
ZWx5IHNldCB2b2x1bWUgYXQgc3RhcnR1cCBhbmQgdXNlIHRoZQorICAgICAgICBHc3RTdHJlYW1W
b2x1bWUgaW50ZXJmYWNlIHdpdGggY3ViaWMgdm9sdW1lIHNjYWxlIHdoZW4KKyAgICAgICAgdXBk
YXRpbmcvcmV0cmlldmluZyB0aGUgdm9sdW1lIHZhbHVlLiBUaGlzIGdpdmVzIGEgbXVjaCBiZXR0
ZXIKKyAgICAgICAgdXNlci1leHBlcmllbmNlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4pOgor
CiAyMDExLTAyLTA5ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggNjliZGVhYi4uMDc1ZjcxZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTQ2LDYg
KzQ2LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuaCIKICNpbmNsdWRl
IDxHT3duUHRyLmg+CiAjaW5jbHVkZSA8Z3N0L2dzdC5oPgorI2luY2x1ZGUgPGdzdC9pbnRlcmZh
Y2VzL3N0cmVhbXZvbHVtZS5oPgogI2luY2x1ZGUgPGdzdC92aWRlby92aWRlby5oPgogI2luY2x1
ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDxtYXRoLmg+CkBAIC02NDAsNyArNjQxLDggQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFZvbHVtZShmbG9hdCB2b2x1bWUpCiAgICAg
aWYgKCFtX3BsYXlCaW4pCiAgICAgICAgIHJldHVybjsKIAotICAgIGdfb2JqZWN0X3NldChtX3Bs
YXlCaW4sICJ2b2x1bWUiLCBzdGF0aWNfY2FzdDxkb3VibGU+KHZvbHVtZSksIE5VTEwpOworICAg
IGdzdF9zdHJlYW1fdm9sdW1lX3NldF92b2x1bWUoR1NUX1NUUkVBTV9WT0xVTUUobV9wbGF5Qmlu
KSwgR1NUX1NUUkVBTV9WT0xVTUVfRk9STUFUX0NVQklDLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPih2b2x1bWUpKTsKIH0KIAogdm9pZCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om5vdGlmeVBsYXllck9mVm9sdW1lQ2hhbmdlKCkKQEAg
LTY1MCw3ICs2NTIsMTEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om5vdGlm
eVBsYXllck9mVm9sdW1lQ2hhbmdlKCkKICAgICBpZiAoIW1fcGxheWVyIHx8ICFtX3BsYXlCaW4p
CiAgICAgICAgIHJldHVybjsKICAgICBkb3VibGUgdm9sdW1lOwotICAgIGdfb2JqZWN0X2dldCht
X3BsYXlCaW4sICJ2b2x1bWUiLCAmdm9sdW1lLCBOVUxMKTsKKyAgICB2b2x1bWUgPSBnc3Rfc3Ry
ZWFtX3ZvbHVtZV9nZXRfdm9sdW1lKEdTVF9TVFJFQU1fVk9MVU1FKG1fcGxheUJpbiksIEdTVF9T
VFJFQU1fVk9MVU1FX0ZPUk1BVF9DVUJJQyk7CisgICAgLy8gZ2V0X3ZvbHVtZSgpIGNhbiByZXR1
cm4gdmFsdWVzIHN1cGVyaW9yIHRvIDEuMCBpZiB0aGUgdXNlcgorICAgIC8vIGFwcGxpZXMgc29m
dHdhcmUgdXNlciBnYWluIHZpYSB0aGlyZCBwYXJ0eSBhcHBsaWNhdGlvbiAoR05PTUUKKyAgICAv
LyB2b2x1bWUgY29udHJvbCBmb3IgaW5zdGFuY2UpLgorICAgIHZvbHVtZSA9IENMQU1QKHZvbHVt
ZSwgMC4wLCAxLjApOwogICAgIG1fcGxheWVyLT52b2x1bWVDaGFuZ2VkKHN0YXRpY19jYXN0PGZs
b2F0Pih2b2x1bWUpKTsKIH0KIApAQCAtMTU2MSw3ICsxNTY3LDcgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4oKQogICAgIGdfc2lnbmFsX2Nvbm5l
Y3QoYnVzLCAibWVzc2FnZSIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2YXRlTWVzc2FnZUNh
bGxiYWNrKSwgdGhpcyk7CiAgICAgZ3N0X29iamVjdF91bnJlZihidXMpOwogCi0gICAgZ19vYmpl
Y3Rfc2V0KG1fcGxheUJpbiwgIm11dGUiLCBtX3BsYXllci0+bXV0ZWQoKSwgInZvbHVtZSIsIG1f
cGxheWVyLT52b2x1bWUoKSwgTlVMTCk7CisgICAgZ19vYmplY3Rfc2V0KG1fcGxheUJpbiwgIm11
dGUiLCBtX3BsYXllci0+bXV0ZWQoKSwgTlVMTCk7CiAKICAgICBnX3NpZ25hbF9jb25uZWN0KG1f
cGxheUJpbiwgIm5vdGlmeTo6dm9sdW1lIiwgR19DQUxMQkFDSyhtZWRpYVBsYXllclByaXZhdGVW
b2x1bWVDaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKICAgICBnX3NpZ25hbF9jb25uZWN0KG1fcGxh
eUJpbiwgIm5vdGlmeTo6c291cmNlIiwgR19DQUxMQkFDSyhtZWRpYVBsYXllclByaXZhdGVTb3Vy
Y2VDaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKLS0gCjEuNy4yLjM=
</data>
<flag name="review"
          id="73987"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>