<?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>35735</bug_id>
          
          <creation_ts>2010-03-04 06:32:48 -0800</creation_ts>
          <short_desc>[GStreamer] replace g_idle_add / g_timeout_add calls with Timers in the gstreamer player</short_desc>
          <delta_ts>2010-03-15 08:37:24 -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>OS X 10.5</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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>196028</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-03-04 06:32:48 -0800</bug_when>
    <thetext>So the playber backend can be reused by other ports more easily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196075</commentid>
    <comment_count>1</comment_count>
      <attachid>50021</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-03-04 07:36:10 -0800</bug_when>
    <thetext>Created attachment 50021
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196609</commentid>
    <comment_count>2</comment_count>
      <attachid>50021</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-05 13:16:33 -0800</bug_when>
    <thetext>Comment on attachment 50021
proposed patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196610</commentid>
    <comment_count>3</comment_count>
      <attachid>50021</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-05 13:16:33 -0800</bug_when>
    <thetext>Comment on attachment 50021
proposed patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196648</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-05 14:05:20 -0800</bug_when>
    <thetext>Attachment 50021 was posted by a committer and has review+, assigning to Philippe Normand for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197082</commentid>
    <comment_count>5</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-03-08 00:14:30 -0800</bug_when>
    <thetext>Landed in r55657</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198227</commentid>
    <comment_count>6</comment_count>
      <attachid>50021</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-10 11:01:26 -0800</bug_when>
    <thetext>Comment on attachment 50021
proposed patch

We rolled this out in r55789, as it caused very bad behaviour on Youtube HTML5 for Xan, that was improved by reverting this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198228</commentid>
    <comment_count>7</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-10 11:02:39 -0800</bug_when>
    <thetext>As per comment #6.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198518</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-03-11 01:10:23 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 50021 [details])
&gt; We rolled this out in r55789, as it caused very bad behaviour on Youtube HTML5
&gt; for Xan, that was improved by reverting this change.

I don&apos;t see how this patch can break youtube HTML5 stuff because:

- the 2 idle sources for mute/volume are in the end just moved to SharedTimerGtk and they are fired only if you change or mute the volume
- the timeout replaced by a Timer is use only during on-disk-buffering, which AFAIK is not enabled for youtube...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199153</commentid>
    <comment_count>9</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-12 11:44:16 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; - the timeout replaced by a Timer is use only during on-disk-buffering, which
&gt; AFAIK is not enabled for youtube...

If that is controlled by the preload attribute, then I think you&apos;re wrong here. When I was working on my buffering patch I believe I noticed on-disk-buffering triggering all the time. This seems to be related to the reason why media/video-preload.html fails. If you watch the media tests running you&apos;ll see most of them are painting the on-disk-buffering on top of the position bar, which is weird. I&apos;m working on a patch to fix media/video-preload.html, which will likely fix it being triggered always.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199584</commentid>
    <comment_count>10</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-03-15 02:05:13 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; - the timeout replaced by a Timer is use only during on-disk-buffering, which
&gt; &gt; AFAIK is not enabled for youtube...
&gt; 
&gt; If that is controlled by the preload attribute, then I think you&apos;re wrong here.

I checked again and I see only the &quot;live&quot; buffering in the logs and no message like:

[Buffering] Starting on-disk buffering.


&gt; When I was working on my buffering patch I believe I noticed on-disk-buffering
&gt; triggering all the time. This seems to be related to the reason why
&gt; media/video-preload.html fails. If you watch the media tests running you&apos;ll see
&gt; most of them are painting the on-disk-buffering on top of the position bar,
&gt; which is weird. I&apos;m working on a patch to fix media/video-preload.html, which
&gt; will likely fix it being triggered always.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199590</commentid>
    <comment_count>11</comment_count>
      <attachid>50695</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-03-15 02:16:56 -0700</bug_when>
    <thetext>Created attachment 50695
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199594</commentid>
    <comment_count>12</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-03-15 02:32:18 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created an attachment (id=50695) [details]
&gt; proposed patch

I have been testing this for some minutes and I can&apos;t reproduce any of the weird things that happened to me before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199614</commentid>
    <comment_count>13</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-03-15 05:00:03 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; - the timeout replaced by a Timer is use only during on-disk-buffering, which
&gt; &gt; &gt; AFAIK is not enabled for youtube...
&gt; &gt; 
&gt; &gt; If that is controlled by the preload attribute, then I think you&apos;re wrong here.
&gt; 
&gt; I checked again and I see only the &quot;live&quot; buffering in the logs and no message
&gt; like:
&gt; 
&gt; [Buffering] Starting on-disk buffering.
&gt; 
&gt; 

Some precisions :) The preload attribute is set to &quot;auto&quot; (by default), which means on-disk buffering for our player. But GStreamer doesn&apos;t support buffering h264/mp4 yet and it fallsback to &quot;stream buffering&quot; mode.

The autoplay flag is set as well, which means preload value should be ignored, according to http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#attr-media-preload</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199638</commentid>
    <comment_count>14</comment_count>
      <attachid>50695</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-15 07:54:17 -0700</bug_when>
    <thetext>Comment on attachment 50695
proposed patch

Great, since it&apos;s good for Xan, I think we can go ahead with this one again, then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199670</commentid>
    <comment_count>15</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-03-15 08:37:24 -0700</bug_when>
    <thetext>Re-landed in r55996</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50021</attachid>
            <date>2010-03-04 07:36:10 -0800</date>
            <delta_ts>2010-03-15 02:16:56 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>proposed-patch.patch</filename>
            <type>text/plain</type>
            <size>9380</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA5MmRkZjRhMmNiYTQxMjQ3MDMxNDU1YzVjODlmNzAzMWQ0NzkyOTU4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBUaHUsIDQgTWFyIDIwMTAgMTY6MzI6NDIgKzAxMDAKU3ViamVjdDogW1BBVENIXSBw
cm9wb3NlZCBwYXRjaAoKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMjMgKysrKysrCiAuLi4vZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAgICAgICB8ICAgNzQgKysrKystLS0tLS0tLS0tLS0tLS0KIC4uLi9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmggICAgICAgIHwgICAxMCArLS0K
IDMgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgNjIgZGVsZXRpb25zKC0pCgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4MDE3
N2FhLi4zOGZjMzgyIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEwLTAzLTA0ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbR1N0cmVhbWVyXSByZXBsYWNlIGdfaWRsZV9hZGQgLyBnX3RpbWVv
dXRfYWRkIGNhbGxzIHdpdGggVGltZXJzIGluIHRoZSBnc3RyZWFtZXIgcGxheWVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTczNQorCisgICAgICAg
IFJlcGxhY2VkIGdfaWRsZV9hZGQgY2FsbHMgd2l0aCBUaW1lcnMgaW1tZWRpYXRlbHkgc3RhcnRl
ZCBvbmNlCisgICAgICAgIG9ubHkuIFRoZSBnX3RpbWVvdXRfYWRkIHdhcyByZXBsYWNlZCBieSBh
IHBlcmlvZGljIFRpbWVyLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGU6On5NZWRpYVBsYXllclByaXZhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjp2b2x1bWVDaGFuZ2VkVGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnZvbHVtZUNoYW5nZWQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpwcm9jZXNzQnVmZmVyaW5nU3RhdHMpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpmaWxsVGltZXJGaXJlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6Om1heFRpbWVMb2FkZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjp1cGRhdGVTdGF0ZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjptdXRlQ2hhbmdlZFRpbWVyRmlyZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjptdXRlQ2hhbmdlZCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oOgorCiAyMDEwLTAzLTA0ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IGZlNGIyZjkuLjg4MTQwYmQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMTc3LDEzICsxNzcsNiBAQCB2b2lkIG1lZGlh
UGxheWVyUHJpdmF0ZVZvbHVtZUNoYW5nZWRDYWxsYmFjayhHT2JqZWN0ICplbGVtZW50LCBHUGFy
YW1TcGVjICpwc3BlYwogICAgIG1wLT52b2x1bWVDaGFuZ2VkKCk7CiB9CiAKLWdib29sZWFuIG5v
dGlmeVZvbHVtZUlkbGVDYWxsYmFjayhncG9pbnRlciBkYXRhKQotewotICAgIE1lZGlhUGxheWVy
UHJpdmF0ZSogbXAgPSByZWludGVycHJldF9jYXN0PE1lZGlhUGxheWVyUHJpdmF0ZSo+KGRhdGEp
OwotICAgIG1wLT52b2x1bWVDaGFuZ2VkQ2FsbGJhY2soKTsKLSAgICByZXR1cm4gRkFMU0U7Ci19
Ci0KIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlTXV0ZUNoYW5nZWRDYWxsYmFjayhHT2JqZWN0ICpl
bGVtZW50LCBHUGFyYW1TcGVjICpwc3BlYywgZ3BvaW50ZXIgZGF0YSkKIHsKICAgICAvLyBUaGlz
IGlzIGNhbGxlZCB3aGVuIHBsYXliaW4gcmVjZWl2ZXMgdGhlIG5vdGlmeTo6bXV0ZSBzaWduYWwu
CkBAIC0xOTEsMTkgKzE4NCw2IEBAIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlTXV0ZUNoYW5nZWRD
YWxsYmFjayhHT2JqZWN0ICplbGVtZW50LCBHUGFyYW1TcGVjICpwc3BlYywKICAgICBtcC0+bXV0
ZUNoYW5nZWQoKTsKIH0KIAotZ2Jvb2xlYW4gbm90aWZ5TXV0ZUlkbGVDYWxsYmFjayhncG9pbnRl
ciBkYXRhKQotewotICAgIE1lZGlhUGxheWVyUHJpdmF0ZSogbXAgPSByZWludGVycHJldF9jYXN0
PE1lZGlhUGxheWVyUHJpdmF0ZSo+KGRhdGEpOwotICAgIG1wLT5tdXRlQ2hhbmdlZENhbGxiYWNr
KCk7Ci0gICAgcmV0dXJuIEZBTFNFOwotfQotCi1nYm9vbGVhbiBidWZmZXJpbmdUaW1lb3V0Q2Fs
bGJhY2soZ3BvaW50ZXIgZGF0YSkKLXsKLSAgICBNZWRpYVBsYXllclByaXZhdGUqIG1wID0gcmVp
bnRlcnByZXRfY2FzdDxNZWRpYVBsYXllclByaXZhdGUqPihkYXRhKTsKLSAgICByZXR1cm4gbXAt
PnF1ZXJ5QnVmZmVyaW5nU3RhdHMoKTsKLX0KLQogc3RhdGljIGZsb2F0IHBsYXliYWNrUG9zaXRp
b24oR3N0RWxlbWVudCogcGxheWJpbikKIHsKIApAQCAtMzA3LDExICsyODcsOSBAQCBNZWRpYVBs
YXllclByaXZhdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZShNZWRpYVBsYXllciogcGxheWVyKQogICAg
ICwgbV9zZWVraW5nKGZhbHNlKQogICAgICwgbV9wbGF5YmFja1JhdGUoMSkKICAgICAsIG1fZXJy
b3JPY2N1cmVkKGZhbHNlKQotICAgICwgbV92b2x1bWVJZGxlSWQoMCkKICAgICAsIG1fbWVkaWFE
dXJhdGlvbigwKQotICAgICwgbV9tdXRlSWRsZUlkKDApCiAgICAgLCBtX3N0YXJ0ZWRCdWZmZXJp
bmcoZmFsc2UpCi0gICAgLCBtX2ZpbGxUaW1lb3V0SWQoMCkKKyAgICAsIG1fZmlsbFRpbWVyKHRo
aXMsICZNZWRpYVBsYXllclByaXZhdGU6OmZpbGxUaW1lckZpcmVkKQogICAgICwgbV9tYXhUaW1l
TG9hZGVkKDApCiAgICAgLCBtX2ZpbGxTdGF0dXMoMCkKIHsKQEAgLTMyMSwyMCArMjk5LDggQEAg
TWVkaWFQbGF5ZXJQcml2YXRlOjpNZWRpYVBsYXllclByaXZhdGUoTWVkaWFQbGF5ZXIqIHBsYXll
cikKIAogTWVkaWFQbGF5ZXJQcml2YXRlOjp+TWVkaWFQbGF5ZXJQcml2YXRlKCkKIHsKLSAgICBp
ZiAobV9maWxsVGltZW91dElkKSB7Ci0gICAgICAgIGdfc291cmNlX3JlbW92ZShtX2ZpbGxUaW1l
b3V0SWQpOwotICAgICAgICBtX2ZpbGxUaW1lb3V0SWQgPSAwOwotICAgIH0KLQotICAgIGlmICht
X3ZvbHVtZUlkbGVJZCkgewotICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV92b2x1bWVJZGxlSWQp
OwotICAgICAgICBtX3ZvbHVtZUlkbGVJZCA9IDA7Ci0gICAgfQotCi0gICAgaWYgKG1fbXV0ZUlk
bGVJZCkgewotICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV9tdXRlSWRsZUlkKTsKLSAgICAgICAg
bV9tdXRlSWRsZUlkID0gMDsKLSAgICB9CisgICAgaWYgKG1fZmlsbFRpbWVyLmlzQWN0aXZlKCkp
CisgICAgICAgIG1fZmlsbFRpbWVyLnN0b3AoKTsKIAogICAgIGlmIChtX2J1ZmZlcikKICAgICAg
ICAgZ3N0X2J1ZmZlcl91bnJlZihtX2J1ZmZlcik7CkBAIC01OTEsNyArNTU3LDcgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGU6OnNldFZvbHVtZShmbG9hdCB2b2x1bWUpCiAgICAgZ19vYmplY3Rf
c2V0KG1fcGxheUJpbiwgInZvbHVtZSIsIHN0YXRpY19jYXN0PGRvdWJsZT4odm9sdW1lKSwgTlVM
TCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjp2b2x1bWVDaGFuZ2VkQ2FsbGJhY2so
KQordm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnZvbHVtZUNoYW5nZWRUaW1lckZpcmVkKFRpbWVy
PE1lZGlhUGxheWVyUHJpdmF0ZT4qKQogewogICAgIGRvdWJsZSB2b2x1bWU7CiAgICAgZ19vYmpl
Y3RfZ2V0KG1fcGxheUJpbiwgInZvbHVtZSIsICZ2b2x1bWUsIE5VTEwpOwpAQCAtNjAwLDkgKzU2
Niw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjp2b2x1bWVDaGFuZ2VkQ2FsbGJhY2soKQog
CiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6dm9sdW1lQ2hhbmdlZCgpCiB7Ci0gICAgaWYgKG1f
dm9sdW1lSWRsZUlkKQotICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV92b2x1bWVJZGxlSWQpOwot
ICAgIG1fdm9sdW1lSWRsZUlkID0gZ19pZGxlX2FkZCgoR1NvdXJjZUZ1bmMpIG5vdGlmeVZvbHVt
ZUlkbGVDYWxsYmFjaywgdGhpcyk7CisgICAgVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiB2b2x1
bWVDaGFuZ2VkVGltZXIodGhpcywgJk1lZGlhUGxheWVyUHJpdmF0ZTo6dm9sdW1lQ2hhbmdlZFRp
bWVyRmlyZWQpOworICAgIHZvbHVtZUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpzZXRSYXRlKGZsb2F0IHJhdGUpCkBAIC02ODgsMjAg
KzY1MywyMCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6cHJvY2Vzc0J1ZmZlcmluZ1N0YXRz
KEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgaWYgKCFtX3N0YXJ0ZWRCdWZmZXJpbmcpIHsKICAg
ICAgICAgbV9zdGFydGVkQnVmZmVyaW5nID0gdHJ1ZTsKIAotICAgICAgICBpZiAobV9maWxsVGlt
ZW91dElkID4gMCkKLSAgICAgICAgICAgIGdfc291cmNlX3JlbW92ZShtX2ZpbGxUaW1lb3V0SWQp
OworICAgICAgICBpZiAobV9maWxsVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgICAgIG1fZmls
bFRpbWVyLnN0b3AoKTsKIAotICAgICAgICBtX2ZpbGxUaW1lb3V0SWQgPSBnX3RpbWVvdXRfYWRk
KDIwMCwgKEdTb3VyY2VGdW5jKSBidWZmZXJpbmdUaW1lb3V0Q2FsbGJhY2ssIHRoaXMpOworICAg
ICAgICBtX2ZpbGxUaW1lci5zdGFydFJlcGVhdGluZygwLjIpOwogICAgIH0KIH0KIAotYm9vbCBN
ZWRpYVBsYXllclByaXZhdGU6OnF1ZXJ5QnVmZmVyaW5nU3RhdHMoKQordm9pZCBNZWRpYVBsYXll
clByaXZhdGU6OmZpbGxUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZT4qKQogewog
ICAgIEdzdFF1ZXJ5KiBxdWVyeSA9IGdzdF9xdWVyeV9uZXdfYnVmZmVyaW5nKEdTVF9GT1JNQVRf
UEVSQ0VOVCk7CiAKICAgICBpZiAoIWdzdF9lbGVtZW50X3F1ZXJ5KG1fcGxheUJpbiwgcXVlcnkp
KSB7CiAgICAgICAgIGdzdF9xdWVyeV91bnJlZihxdWVyeSk7Ci0gICAgICAgIHJldHVybiBUUlVF
OworICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgZ2ludDY0IHN0YXJ0LCBzdG9wOwpAQCAt
NzI4LDE2ICs2OTMsMTUgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGU6OnF1ZXJ5QnVmZmVyaW5n
U3RhdHMoKQogCiAgICAgaWYgKG1fZmlsbFN0YXR1cyAhPSAxMDAuMCkgewogICAgICAgICB1cGRh
dGVTdGF0ZXMoKTsKLSAgICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICAvLyBNZWRpYSBpcyBub3cgZnVsbHkgbG9hZGVkLiBJdCB3aWxsIHBsYXkgZXZlbiBp
ZiBuZXR3b3JrCiAgICAgLy8gY29ubmVjdGlvbiBpcyBjdXQuIEJ1ZmZlcmluZyBpcyBkb25lLCBy
ZW1vdmUgdGhlIGZpbGwgc291cmNlCiAgICAgLy8gZnJvbSB0aGUgbWFpbiBsb29wLgotICAgIG1f
ZmlsbFRpbWVvdXRJZCA9IDA7CisgICAgbV9maWxsVGltZXIuc3RvcCgpOwogICAgIG1fc3RhcnRl
ZEJ1ZmZlcmluZyA9IGZhbHNlOwogICAgIHVwZGF0ZVN0YXRlcygpOwotICAgIHJldHVybiBGQUxT
RTsKIH0KIAogZmxvYXQgTWVkaWFQbGF5ZXJQcml2YXRlOjptYXhUaW1lU2Vla2FibGUoKSBjb25z
dApAQCAtNzU5LDcgKzcyMyw3IEBAIGZsb2F0IE1lZGlhUGxheWVyUHJpdmF0ZTo6bWF4VGltZUxv
YWRlZCgpIGNvbnN0CiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBmbG9hdCBsb2FkZWQgPSBt
X21heFRpbWVMb2FkZWQ7Ci0gICAgaWYgKCFsb2FkZWQgJiYgIW1fZmlsbFRpbWVvdXRJZCkKKyAg
ICBpZiAoIWxvYWRlZCAmJiAhbV9maWxsVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbG9hZGVk
ID0gZHVyYXRpb24oKTsKICAgICBMT0dfVkVSQk9TRShNZWRpYSwgIm1heFRpbWVMb2FkZWQ6ICVm
IiwgbG9hZGVkKTsKICAgICByZXR1cm4gbG9hZGVkOwpAQCAtODUwLDcgKzgxNCw3IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlOjp1cGRhdGVTdGF0ZXMoKQogICAgICAgICAgICAgbV9wYXVzZWQg
PSB0cnVlOwogCiAgICAgICAgIC8vIElzIG9uLWRpc2sgYnVmZmVyaW5nIGluIHByb2dyZXNzPwot
ICAgICAgICBpZiAobV9maWxsVGltZW91dElkKSB7CisgICAgICAgIGlmIChtX2ZpbGxUaW1lci5p
c0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICBtX25ldHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpM
b2FkaW5nOwogICAgICAgICAgICAgLy8gQnVmZmVyaW5nIGhhcyBqdXN0IHN0YXJ0ZWQsIHdlIHNo
b3VsZCBub3cgaGF2ZSBlbm91Z2gKICAgICAgICAgICAgIC8vIGRhdGEgdG8gcmVzdGFydCBwbGF5
YmFjayBpZiBpdCB3YXMgaW50ZXJuYWxseSBwYXVzZWQgYnkKQEAgLTExMTQsNyArMTA3OCw3IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpzZXRNdXRlZChib29sIG11dGVkKQogICAgIGdfb2Jq
ZWN0X3NldChtX3BsYXlCaW4sICJtdXRlIiwgbXV0ZWQsIE5VTEwpOwogfQogCi12b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZTo6bXV0ZUNoYW5nZWRDYWxsYmFjaygpCit2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZTo6bXV0ZUNoYW5nZWRUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZT4qKQog
ewogICAgIGdib29sZWFuIG11dGVkOwogICAgIGdfb2JqZWN0X2dldChtX3BsYXlCaW4sICJtdXRl
IiwgJm11dGVkLCBOVUxMKTsKQEAgLTExMjMsMTAgKzEwODcsOCBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZTo6bXV0ZUNoYW5nZWRDYWxsYmFjaygpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
OjptdXRlQ2hhbmdlZCgpCiB7Ci0gICAgaWYgKG1fbXV0ZUlkbGVJZCkKLSAgICAgICAgZ19zb3Vy
Y2VfcmVtb3ZlKG1fbXV0ZUlkbGVJZCk7Ci0KLSAgICBtX211dGVJZGxlSWQgPSBnX2lkbGVfYWRk
KChHU291cmNlRnVuYykgbm90aWZ5TXV0ZUlkbGVDYWxsYmFjaywgdGhpcyk7CisgICAgVGltZXI8
TWVkaWFQbGF5ZXJQcml2YXRlPiBtdXRlQ2hhbmdlZFRpbWVyKHRoaXMsICZNZWRpYVBsYXllclBy
aXZhdGU6Om11dGVDaGFuZ2VkVGltZXJGaXJlZCk7CisgICAgbXV0ZUNoYW5nZWRUaW1lci5zdGFy
dE9uZVNob3QoMCk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpsb2FkaW5nRmFpbGVk
KE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgZXJyb3IpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5oCmluZGV4IDQwMWRkNjUuLjM5ZjZlNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5oCkBAIC04MCwxNSArODAsMTUgQEAgY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRl
IDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CiAKICAgICAgICAgICAgIHZv
aWQgc2V0Vm9sdW1lKGZsb2F0KTsKICAgICAgICAgICAgIHZvaWQgdm9sdW1lQ2hhbmdlZCgpOwot
ICAgICAgICAgICAgdm9pZCB2b2x1bWVDaGFuZ2VkQ2FsbGJhY2soKTsKKyAgICAgICAgICAgIHZv
aWQgdm9sdW1lQ2hhbmdlZFRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiopOwog
CiAgICAgICAgICAgICBib29sIHN1cHBvcnRzTXV0aW5nKCkgY29uc3Q7CiAgICAgICAgICAgICB2
b2lkIHNldE11dGVkKGJvb2wpOwogICAgICAgICAgICAgdm9pZCBtdXRlQ2hhbmdlZCgpOwotICAg
ICAgICAgICAgdm9pZCBtdXRlQ2hhbmdlZENhbGxiYWNrKCk7CisgICAgICAgICAgICB2b2lkIG11
dGVDaGFuZ2VkVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGU+Kik7CiAKICAgICAg
ICAgICAgIHZvaWQgc2V0UHJlbG9hZChNZWRpYVBsYXllcjo6UHJlbG9hZCk7Ci0gICAgICAgICAg
ICBib29sIHF1ZXJ5QnVmZmVyaW5nU3RhdHMoKTsKKyAgICAgICAgICAgIHZvaWQgZmlsbFRpbWVy
RmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiopOwogCiAgICAgICAgICAgICBNZWRpYVBs
YXllcjo6TmV0d29ya1N0YXRlIG5ldHdvcmtTdGF0ZSgpIGNvbnN0OwogICAgICAgICAgICAgTWVk
aWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0OwpAQCAtMTYwLDExICsxNjAs
OSBAQCBjbGFzcyBNZWRpYVBsYXllclByaXZhdGUgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRl
SW50ZXJmYWNlIHsKICAgICAgICAgICAgIGJvb2wgbV9zZWVraW5nOwogICAgICAgICAgICAgZmxv
YXQgbV9wbGF5YmFja1JhdGU7CiAgICAgICAgICAgICBib29sIG1fZXJyb3JPY2N1cmVkOwotICAg
ICAgICAgICAgZ3VpbnQgbV92b2x1bWVJZGxlSWQ7CiAgICAgICAgICAgICBnZmxvYXQgbV9tZWRp
YUR1cmF0aW9uOwotICAgICAgICAgICAgZ3VpbnQgbV9tdXRlSWRsZUlkOwogICAgICAgICAgICAg
Ym9vbCBtX3N0YXJ0ZWRCdWZmZXJpbmc7Ci0gICAgICAgICAgICBndWludCBtX2ZpbGxUaW1lb3V0
SWQ7CisgICAgICAgICAgICBUaW1lcjxNZWRpYVBsYXllclByaXZhdGU+IG1fZmlsbFRpbWVyOwog
ICAgICAgICAgICAgZmxvYXQgbV9tYXhUaW1lTG9hZGVkOwogICAgICAgICAgICAgZ2RvdWJsZSBt
X2ZpbGxTdGF0dXM7CiAgICAgfTsKLS0gCjEuNi4zLjM=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50695</attachid>
            <date>2010-03-15 02:16:56 -0700</date>
            <delta_ts>2010-03-15 07:54:17 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>proposed-patch.patch</filename>
            <type>text/plain</type>
            <size>7836</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSBiNzcyOTNlOGQwZWY4MTMzMzM1NzE1MGRkYTA3MTU4OGVkODdiNDczIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBNb24sIDE1IE1hciAyMDEwIDA5OjQ5OjExICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
cHJvcG9zZWQgcGF0Y2gKCi0tLQogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwICAgICAgfCAgIDc1ICsrKysrLS0tLS0tLS0tLS0tLS0tCiAuLi4vZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oICAgICAgICB8ICAgMTAgKy0tCiAyIGZpbGVz
IGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDYzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IGQwN2U0M2EuLmFiNzFmYTggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMTc3LDEzICsxNzcsNiBAQCB2b2lk
IG1lZGlhUGxheWVyUHJpdmF0ZVZvbHVtZUNoYW5nZWRDYWxsYmFjayhHT2JqZWN0ICplbGVtZW50
LCBHUGFyYW1TcGVjICpwc3BlYwogICAgIG1wLT52b2x1bWVDaGFuZ2VkKCk7CiB9CiAKLWdib29s
ZWFuIG5vdGlmeVZvbHVtZUlkbGVDYWxsYmFjayhncG9pbnRlciBkYXRhKQotewotICAgIE1lZGlh
UGxheWVyUHJpdmF0ZSogbXAgPSByZWludGVycHJldF9jYXN0PE1lZGlhUGxheWVyUHJpdmF0ZSo+
KGRhdGEpOwotICAgIG1wLT52b2x1bWVDaGFuZ2VkQ2FsbGJhY2soKTsKLSAgICByZXR1cm4gRkFM
U0U7Ci19Ci0KIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlTXV0ZUNoYW5nZWRDYWxsYmFjayhHT2Jq
ZWN0ICplbGVtZW50LCBHUGFyYW1TcGVjICpwc3BlYywgZ3BvaW50ZXIgZGF0YSkKIHsKICAgICAv
LyBUaGlzIGlzIGNhbGxlZCB3aGVuIHBsYXliaW4gcmVjZWl2ZXMgdGhlIG5vdGlmeTo6bXV0ZSBz
aWduYWwuCkBAIC0xOTEsMTkgKzE4NCw2IEBAIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlTXV0ZUNo
YW5nZWRDYWxsYmFjayhHT2JqZWN0ICplbGVtZW50LCBHUGFyYW1TcGVjICpwc3BlYywKICAgICBt
cC0+bXV0ZUNoYW5nZWQoKTsKIH0KIAotZ2Jvb2xlYW4gbm90aWZ5TXV0ZUlkbGVDYWxsYmFjayhn
cG9pbnRlciBkYXRhKQotewotICAgIE1lZGlhUGxheWVyUHJpdmF0ZSogbXAgPSByZWludGVycHJl
dF9jYXN0PE1lZGlhUGxheWVyUHJpdmF0ZSo+KGRhdGEpOwotICAgIG1wLT5tdXRlQ2hhbmdlZENh
bGxiYWNrKCk7Ci0gICAgcmV0dXJuIEZBTFNFOwotfQotCi1nYm9vbGVhbiBidWZmZXJpbmdUaW1l
b3V0Q2FsbGJhY2soZ3BvaW50ZXIgZGF0YSkKLXsKLSAgICBNZWRpYVBsYXllclByaXZhdGUqIG1w
ID0gcmVpbnRlcnByZXRfY2FzdDxNZWRpYVBsYXllclByaXZhdGUqPihkYXRhKTsKLSAgICByZXR1
cm4gbXAtPnF1ZXJ5QnVmZmVyaW5nU3RhdHMoKTsKLX0KLQogc3RhdGljIGZsb2F0IHBsYXliYWNr
UG9zaXRpb24oR3N0RWxlbWVudCogcGxheWJpbikKIHsKIApAQCAtMzA3LDExICsyODcsOSBAQCBN
ZWRpYVBsYXllclByaXZhdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZShNZWRpYVBsYXllciogcGxheWVy
KQogICAgICwgbV9idWZmZXJpbmcoZmFsc2UpCiAgICAgLCBtX3BsYXliYWNrUmF0ZSgxKQogICAg
ICwgbV9lcnJvck9jY3VyZWQoZmFsc2UpCi0gICAgLCBtX3ZvbHVtZUlkbGVJZCgwKQogICAgICwg
bV9tZWRpYUR1cmF0aW9uKDApCi0gICAgLCBtX211dGVJZGxlSWQoMCkKICAgICAsIG1fc3RhcnRl
ZEJ1ZmZlcmluZyhmYWxzZSkKLSAgICAsIG1fZmlsbFRpbWVvdXRJZCgwKQorICAgICwgbV9maWxs
VGltZXIodGhpcywgJk1lZGlhUGxheWVyUHJpdmF0ZTo6ZmlsbFRpbWVyRmlyZWQpCiAgICAgLCBt
X21heFRpbWVMb2FkZWQoMCkKICAgICAsIG1fYnVmZmVyaW5nUGVyY2VudGFnZSgwKQogewpAQCAt
MzIxLDIwICsyOTksOCBAQCBNZWRpYVBsYXllclByaXZhdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZShN
ZWRpYVBsYXllciogcGxheWVyKQogCiBNZWRpYVBsYXllclByaXZhdGU6On5NZWRpYVBsYXllclBy
aXZhdGUoKQogewotICAgIGlmIChtX2ZpbGxUaW1lb3V0SWQpIHsKLSAgICAgICAgZ19zb3VyY2Vf
cmVtb3ZlKG1fZmlsbFRpbWVvdXRJZCk7Ci0gICAgICAgIG1fZmlsbFRpbWVvdXRJZCA9IDA7Ci0g
ICAgfQotCi0gICAgaWYgKG1fdm9sdW1lSWRsZUlkKSB7Ci0gICAgICAgIGdfc291cmNlX3JlbW92
ZShtX3ZvbHVtZUlkbGVJZCk7Ci0gICAgICAgIG1fdm9sdW1lSWRsZUlkID0gMDsKLSAgICB9Ci0K
LSAgICBpZiAobV9tdXRlSWRsZUlkKSB7Ci0gICAgICAgIGdfc291cmNlX3JlbW92ZShtX211dGVJ
ZGxlSWQpOwotICAgICAgICBtX211dGVJZGxlSWQgPSAwOwotICAgIH0KKyAgICBpZiAobV9maWxs
VGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbV9maWxsVGltZXIuc3RvcCgpOwogCiAgICAgaWYg
KG1fYnVmZmVyKQogICAgICAgICBnc3RfYnVmZmVyX3VucmVmKG1fYnVmZmVyKTsKQEAgLTU5NCw3
ICs1NjAsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6c2V0Vm9sdW1lKGZsb2F0IHZvbHVt
ZSkKICAgICBnX29iamVjdF9zZXQobV9wbGF5QmluLCAidm9sdW1lIiwgc3RhdGljX2Nhc3Q8ZG91
YmxlPih2b2x1bWUpLCBOVUxMKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnZvbHVt
ZUNoYW5nZWRDYWxsYmFjaygpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6dm9sdW1lQ2hhbmdl
ZFRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiopCiB7CiAgICAgZG91YmxlIHZv
bHVtZTsKICAgICBnX29iamVjdF9nZXQobV9wbGF5QmluLCAidm9sdW1lIiwgJnZvbHVtZSwgTlVM
TCk7CkBAIC02MDMsOSArNTY5LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnZvbHVtZUNo
YW5nZWRDYWxsYmFjaygpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjp2b2x1bWVDaGFuZ2Vk
KCkKIHsKLSAgICBpZiAobV92b2x1bWVJZGxlSWQpCi0gICAgICAgIGdfc291cmNlX3JlbW92ZSht
X3ZvbHVtZUlkbGVJZCk7Ci0gICAgbV92b2x1bWVJZGxlSWQgPSBnX2lkbGVfYWRkKChHU291cmNl
RnVuYykgbm90aWZ5Vm9sdW1lSWRsZUNhbGxiYWNrLCB0aGlzKTsKKyAgICBUaW1lcjxNZWRpYVBs
YXllclByaXZhdGU+IHZvbHVtZUNoYW5nZWRUaW1lcih0aGlzLCAmTWVkaWFQbGF5ZXJQcml2YXRl
Ojp2b2x1bWVDaGFuZ2VkVGltZXJGaXJlZCk7CisgICAgdm9sdW1lQ2hhbmdlZFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnNldFJhdGUoZmxvYXQg
cmF0ZSkKQEAgLTcwNCwyMCArNjY5LDIwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpwcm9j
ZXNzQnVmZmVyaW5nU3RhdHMoR3N0TWVzc2FnZSogbWVzc2FnZSkKIAogICAgICAgICBtX3N0YXJ0
ZWRCdWZmZXJpbmcgPSB0cnVlOwogCi0gICAgICAgIGlmIChtX2ZpbGxUaW1lb3V0SWQgPiAwKQot
ICAgICAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1fZmlsbFRpbWVvdXRJZCk7CisgICAgICAgIGlm
IChtX2ZpbGxUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICAgICAgbV9maWxsVGltZXIuc3RvcCgp
OwogCi0gICAgICAgIG1fZmlsbFRpbWVvdXRJZCA9IGdfdGltZW91dF9hZGQoMjAwLCAoR1NvdXJj
ZUZ1bmMpIGJ1ZmZlcmluZ1RpbWVvdXRDYWxsYmFjaywgdGhpcyk7CisgICAgICAgIG1fZmlsbFRp
bWVyLnN0YXJ0UmVwZWF0aW5nKDAuMik7CiAgICAgfQogfQogCi1ib29sIE1lZGlhUGxheWVyUHJp
dmF0ZTo6cXVlcnlCdWZmZXJpbmdTdGF0cygpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6Zmls
bFRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiopCiB7CiAgICAgR3N0UXVlcnkq
IHF1ZXJ5ID0gZ3N0X3F1ZXJ5X25ld19idWZmZXJpbmcoR1NUX0ZPUk1BVF9QRVJDRU5UKTsKIAog
ICAgIGlmICghZ3N0X2VsZW1lbnRfcXVlcnkobV9wbGF5QmluLCBxdWVyeSkpIHsKICAgICAgICAg
Z3N0X3F1ZXJ5X3VucmVmKHF1ZXJ5KTsKLSAgICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAgIHJl
dHVybjsKICAgICB9CiAKICAgICBnaW50NjQgc3RhcnQsIHN0b3A7CkBAIC03NDMsMTYgKzcwOCwx
NSBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZTo6cXVlcnlCdWZmZXJpbmdTdGF0cygpCiAKICAg
ICBpZiAoZmlsbFN0YXR1cyAhPSAxMDAuMCkgewogICAgICAgICB1cGRhdGVTdGF0ZXMoKTsKLSAg
ICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBNZWRp
YSBpcyBub3cgZnVsbHkgbG9hZGVkLiBJdCB3aWxsIHBsYXkgZXZlbiBpZiBuZXR3b3JrCiAgICAg
Ly8gY29ubmVjdGlvbiBpcyBjdXQuIEJ1ZmZlcmluZyBpcyBkb25lLCByZW1vdmUgdGhlIGZpbGwg
c291cmNlCiAgICAgLy8gZnJvbSB0aGUgbWFpbiBsb29wLgotICAgIG1fZmlsbFRpbWVvdXRJZCA9
IDA7CisgICAgbV9maWxsVGltZXIuc3RvcCgpOwogICAgIG1fc3RhcnRlZEJ1ZmZlcmluZyA9IGZh
bHNlOwogICAgIHVwZGF0ZVN0YXRlcygpOwotICAgIHJldHVybiBGQUxTRTsKIH0KIAogZmxvYXQg
TWVkaWFQbGF5ZXJQcml2YXRlOjptYXhUaW1lU2Vla2FibGUoKSBjb25zdApAQCAtNzc0LDcgKzcz
OCw3IEBAIGZsb2F0IE1lZGlhUGxheWVyUHJpdmF0ZTo6bWF4VGltZUxvYWRlZCgpIGNvbnN0CiAg
ICAgICAgIHJldHVybiAwLjA7CiAKICAgICBmbG9hdCBsb2FkZWQgPSBtX21heFRpbWVMb2FkZWQ7
Ci0gICAgaWYgKCFsb2FkZWQgJiYgIW1fZmlsbFRpbWVvdXRJZCkKKyAgICBpZiAoIWxvYWRlZCAm
JiAhbV9maWxsVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbG9hZGVkID0gZHVyYXRpb24oKTsK
ICAgICBMT0dfVkVSQk9TRShNZWRpYSwgIm1heFRpbWVMb2FkZWQ6ICVmIiwgbG9hZGVkKTsKICAg
ICByZXR1cm4gbG9hZGVkOwpAQCAtOTAwLDggKzg2NCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlOjp1cGRhdGVTdGF0ZXMoKQogICAgICAgICAgICAgbV9wYXVzZWQgPSB0cnVlOwogCiAgICAg
ICAgIC8vIElzIG9uLWRpc2sgYnVmZmVyaW5nIGluIHByb2dyZXNzPwotCi0gICAgICAgIGlmICht
X2ZpbGxUaW1lb3V0SWQpCisgICAgICAgIGlmIChtX2ZpbGxUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICAgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6TG9hZGluZzsKIAogICAgICAg
ICBpZiAobV9jaGFuZ2luZ1JhdGUpIHsKQEAgLTExNDMsNyArMTEwNiw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlOjpzZXRNdXRlZChib29sIG11dGVkKQogICAgIGdfb2JqZWN0X3NldChtX3Bs
YXlCaW4sICJtdXRlIiwgbXV0ZWQsIE5VTEwpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZTo6bXV0ZUNoYW5nZWRDYWxsYmFjaygpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6bXV0ZUNo
YW5nZWRUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZT4qKQogewogICAgIGdib29s
ZWFuIG11dGVkOwogICAgIGdfb2JqZWN0X2dldChtX3BsYXlCaW4sICJtdXRlIiwgJm11dGVkLCBO
VUxMKTsKQEAgLTExNTIsMTAgKzExMTUsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6bXV0
ZUNoYW5nZWRDYWxsYmFjaygpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjptdXRlQ2hhbmdl
ZCgpCiB7Ci0gICAgaWYgKG1fbXV0ZUlkbGVJZCkKLSAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1f
bXV0ZUlkbGVJZCk7Ci0KLSAgICBtX211dGVJZGxlSWQgPSBnX2lkbGVfYWRkKChHU291cmNlRnVu
Yykgbm90aWZ5TXV0ZUlkbGVDYWxsYmFjaywgdGhpcyk7CisgICAgVGltZXI8TWVkaWFQbGF5ZXJQ
cml2YXRlPiBtdXRlQ2hhbmdlZFRpbWVyKHRoaXMsICZNZWRpYVBsYXllclByaXZhdGU6Om11dGVD
aGFuZ2VkVGltZXJGaXJlZCk7CisgICAgbXV0ZUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7
CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpsb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVy
OjpOZXR3b3JrU3RhdGUgZXJyb3IpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmlu
ZGV4IDhmMzE2NmUuLjU2NjYyNjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5o
CkBAIC04MCwxNSArODAsMTUgQEAgY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlIDogcHVibGljIE1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CiAKICAgICAgICAgICAgIHZvaWQgc2V0Vm9sdW1l
KGZsb2F0KTsKICAgICAgICAgICAgIHZvaWQgdm9sdW1lQ2hhbmdlZCgpOwotICAgICAgICAgICAg
dm9pZCB2b2x1bWVDaGFuZ2VkQ2FsbGJhY2soKTsKKyAgICAgICAgICAgIHZvaWQgdm9sdW1lQ2hh
bmdlZFRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiopOwogCiAgICAgICAgICAg
ICBib29sIHN1cHBvcnRzTXV0aW5nKCkgY29uc3Q7CiAgICAgICAgICAgICB2b2lkIHNldE11dGVk
KGJvb2wpOwogICAgICAgICAgICAgdm9pZCBtdXRlQ2hhbmdlZCgpOwotICAgICAgICAgICAgdm9p
ZCBtdXRlQ2hhbmdlZENhbGxiYWNrKCk7CisgICAgICAgICAgICB2b2lkIG11dGVDaGFuZ2VkVGlt
ZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGU+Kik7CiAKICAgICAgICAgICAgIHZvaWQg
c2V0UHJlbG9hZChNZWRpYVBsYXllcjo6UHJlbG9hZCk7Ci0gICAgICAgICAgICBib29sIHF1ZXJ5
QnVmZmVyaW5nU3RhdHMoKTsKKyAgICAgICAgICAgIHZvaWQgZmlsbFRpbWVyRmlyZWQoVGltZXI8
TWVkaWFQbGF5ZXJQcml2YXRlPiopOwogCiAgICAgICAgICAgICBNZWRpYVBsYXllcjo6TmV0d29y
a1N0YXRlIG5ldHdvcmtTdGF0ZSgpIGNvbnN0OwogICAgICAgICAgICAgTWVkaWFQbGF5ZXI6OlJl
YWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0OwpAQCAtMTYwLDExICsxNjAsOSBAQCBjbGFzcyBN
ZWRpYVBsYXllclByaXZhdGUgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsK
ICAgICAgICAgICAgIGJvb2wgbV9idWZmZXJpbmc7CiAgICAgICAgICAgICBmbG9hdCBtX3BsYXli
YWNrUmF0ZTsKICAgICAgICAgICAgIGJvb2wgbV9lcnJvck9jY3VyZWQ7Ci0gICAgICAgICAgICBn
dWludCBtX3ZvbHVtZUlkbGVJZDsKICAgICAgICAgICAgIGdmbG9hdCBtX21lZGlhRHVyYXRpb247
Ci0gICAgICAgICAgICBndWludCBtX211dGVJZGxlSWQ7CiAgICAgICAgICAgICBib29sIG1fc3Rh
cnRlZEJ1ZmZlcmluZzsKLSAgICAgICAgICAgIGd1aW50IG1fZmlsbFRpbWVvdXRJZDsKKyAgICAg
ICAgICAgIFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZT4gbV9maWxsVGltZXI7CiAgICAgICAgICAg
ICBmbG9hdCBtX21heFRpbWVMb2FkZWQ7CiAgICAgICAgICAgICBpbnQgbV9idWZmZXJpbmdQZXJj
ZW50YWdlOwogICAgIH07Ci0tIAoxLjYuMy4z
</data>
<flag name="review"
          id="33865"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>