<?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>159458</bug_id>
          
          <creation_ts>2016-07-06 02:15:47 -0700</creation_ts>
          <short_desc>[GStreamer] duration query improvements</short_desc>
          <delta_ts>2016-07-06 07:58: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>Platform</component>
          <version>WebKit 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></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="Nobody">webkit-unassigned</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>pnormand</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1208131</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-07-06 02:15:47 -0700</bug_when>
    <thetext>Currently the player caches the result of the duration query but this is overkill because it&apos;s cached by playbin already. The only time where the player needs to cache the duration is when EOS was reached because in that situation the query would fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208136</commentid>
    <comment_count>1</comment_count>
      <attachid>282866</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-07-06 02:28:48 -0700</bug_when>
    <thetext>Created attachment 282866
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208169</commentid>
    <comment_count>2</comment_count>
      <attachid>282866</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2016-07-06 04:24:06 -0700</bug_when>
    <thetext>Comment on attachment 282866
patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:521
&gt; +    m_durationAtEOS = 0;

Why do you need this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208195</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-07-06 06:28:32 -0700</bug_when>
    <thetext>Committed r202857: &lt;http://trac.webkit.org/changeset/202857&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208207</commentid>
    <comment_count>4</comment_count>
      <attachid>282866</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-07-06 07:37:34 -0700</bug_when>
    <thetext>Comment on attachment 282866
patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:521
&gt;&gt; +    m_durationAtEOS = 0;
&gt; 
&gt; Why do you need this?

For no good reason it seems :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208211</commentid>
    <comment_count>5</comment_count>
      <attachid>282866</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2016-07-06 07:57:21 -0700</bug_when>
    <thetext>Comment on attachment 282866
patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:521
&gt;&gt;&gt; +    m_durationAtEOS = 0;
&gt;&gt; 
&gt;&gt; Why do you need this?
&gt; 
&gt; For no good reason it seems :)

Well, I guess it is correct to assume that if you are seeking and the end is not reached as it is set in like 520, considering the new paradigm of not caching the duration until the playback ends, we should not have a valid value here.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282866</attachid>
            <date>2016-07-06 02:28:48 -0700</date>
            <delta_ts>2016-07-06 07:58:05 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>11295</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA1NDUzNTU5NzgzNTFjZDYyYmE0NTk4ZjA2MjA0NmNlZGIwNTdkZTNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBXZWQsIDYgSnVsIDIwMTYgMTE6MjU6MTMgKzAyMDAKU3ViamVjdDogW1BBVENIXSBw
YXRjaAoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8IDM0ICsrKysrKysrKwogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwICAgICAgfCA4NSArKysrKysrKy0tLS0tLS0tLS0tLS0tCiAuLi4vZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oICAgICAgICB8ICA0ICstCiAzIGZpbGVzIGNo
YW5nZWQsIDY3IGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZTk0MzU2Li4xYmJjM2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTYtMDctMDYg
IFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3Ry
ZWFtZXJdIGR1cmF0aW9uIHF1ZXJ5IGltcHJvdmVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5IHRoZSBwbGF5ZXIgY2FjaGVzIHRo
ZSByZXN1bHQgb2YgdGhlIGR1cmF0aW9uIHF1ZXJ5IGJ1dAorICAgICAgICB0aGlzIGlzIG92ZXJr
aWxsIGJlY2F1c2UgaXQncyBjYWNoZWQgYnkgcGxheWJpbiBhbHJlYWR5LiBUaGUgb25seQorICAg
ICAgICB0aW1lIHdoZXJlIHRoZSBwbGF5ZXIgbmVlZHMgdG8gY2FjaGUgdGhlIGR1cmF0aW9uIGlz
IHdoZW4gRU9TIHdhcworICAgICAgICByZWFjaGVkIGJlY2F1c2UgaW4gdGhhdCBzaXR1YXRpb24g
dGhlIHF1ZXJ5IHdvdWxkIGZhaWwuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBleGlzdGluZyBt
ZWRpYSB0ZXN0cyBjb3ZlciB0aGlzIHBhdGNoLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcik6IE1lbWJlciB2YXJpYWJsZXMgdXBkYXRlLgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKTogU3RvcCB0aGUgZmlsbCB0aW1lcgorICAg
ICAgICBiZWZvcmUgbG9hZGluZyBhIG5ldyBVUkwsIHRoZSBzYW1lIHBsYXllciBjYW4gYmUgdXNl
ZCBmb3IKKyAgICAgICAgZGlmZmVyZW50IGFzc2V0cy4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6cGxheWJhY2tQb3NpdGlvbik6IFBlcmZvcm0KKyAgICAg
ICAgYSBkdXJhdGlvbiBxdWVyeSwgdGhlIGR1cmF0aW9uIHZhbHVlIGlzIG5vIGxvbmdlciBsb2Nh
bGx5IGNhY2hlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cjo6ZHVyYXRpb24pOiBSZXR1cm4gY2FjaGVkIHZhbHVlIG9ubHkgYWZ0ZXIgRU9TIHdhcyByZWFj
aGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZWVr
KTogUmVzZXQgRU9TIGR1cmF0aW9uIGF0IHRoZSBzYW1lIHRpbWUgYXMgdGhlIEVPUyBmbGFnLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpmaWxsVGltZXJG
aXJlZCk6IFBlcmZvcm0KKyAgICAgICAgYSBkdXJhdGlvbiBxdWVyeSwgdGhlIGR1cmF0aW9uIHZh
bHVlIGlzIG5vIGxvbmdlciBsb2NhbGx5IGNhY2hlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bWF4VGltZVNlZWthYmxlKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om1heFRpbWVMb2FkZWQpOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZGlk
TG9hZGluZ1Byb2dyZXNzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXI6OnVwZGF0ZVN0YXRlcyk6IFJlbW92ZSBkdXJhdGlvbiBjYWNoaW5nIHN1
cHBvcnQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmRp
ZEVuZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpkdXJhdGlvbkNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2FjaGVEdXJhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5o
OgorCiAyMDE2LTA3LTA0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
IAogICAgICAgICBSZWxlYXNlIGJ1aWxkIHdpdGggbG9nZ2luZyBlbmFibGVkIGZhaWxzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IGEwNmFm
YTUuLjBlOGY5ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwCkBAIC0xNTEsMTQgKzE1MSwxMyBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcihNZWRpYVBsYXllciogcGxheWVyKQogICAg
ICwgbV9wbGF5YmFja1JhdGUoMSkKICAgICAsIG1fbGFzdFBsYXliYWNrUmF0ZSgxKQogICAgICwg
bV9lcnJvck9jY3VyZWQoZmFsc2UpCi0gICAgLCBtX21lZGlhRHVyYXRpb24oMCkKICAgICAsIG1f
ZG93bmxvYWRGaW5pc2hlZChmYWxzZSkKKyAgICAsIG1fZHVyYXRpb25BdEVPUygwKQogICAgICwg
bV9maWxsVGltZXIoKnRoaXMsICZNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmZpbGxUaW1l
ckZpcmVkKQogICAgICwgbV9tYXhUaW1lTG9hZGVkKDApCiAgICAgLCBtX2J1ZmZlcmluZ1BlcmNl
bnRhZ2UoMCkKICAgICAsIG1fcHJlbG9hZChwbGF5ZXItPnByZWxvYWQoKSkKICAgICAsIG1fZGVs
YXlpbmdMb2FkKGZhbHNlKQotICAgICwgbV9tZWRpYUR1cmF0aW9uS25vd24odHJ1ZSkKICAgICAs
IG1fbWF4VGltZUxvYWRlZEF0TGFzdERpZExvYWRpbmdQcm9ncmVzcygwKQogICAgICwgbV92b2x1
bWVBbmRNdXRlSW5pdGlhbGl6ZWQoZmFsc2UpCiAgICAgLCBtX2hhc1ZpZGVvKGZhbHNlKQpAQCAt
MjM3LDYgKzIzNiw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNv
bnN0IFN0cmluZyYgdXJsU3RyaW5nKQogICAgIGlmICghbV9waXBlbGluZSkKICAgICAgICAgY3Jl
YXRlR1NUUGxheUJpbigpOwogCisgICAgaWYgKG1fZmlsbFRpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fZmlsbFRpbWVyLnN0b3AoKTsKKwogICAgIEFTU0VSVChtX3BpcGVsaW5lKTsKIAogICAg
IG1fdXJsID0gVVJMKFVSTCgpLCBjbGVhblVSTCk7CkBAIC0yNTYsNiArMjU4LDcgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcp
CiAgICAgbV9yZWFkeVN0YXRlID0gTWVkaWFQbGF5ZXI6OkhhdmVOb3RoaW5nOwogICAgIG1fcGxh
eWVyLT5yZWFkeVN0YXRlQ2hhbmdlZCgpOwogICAgIG1fdm9sdW1lQW5kTXV0ZUluaXRpYWxpemVk
ID0gZmFsc2U7CisgICAgbV9kdXJhdGlvbkF0RU9TID0gMDsKIAogICAgIGlmICghbV9kZWxheWlu
Z0xvYWQpCiAgICAgICAgIGNvbW1pdExvYWQoKTsKQEAgLTI5OSw4ICszMDIsMTAgQEAgZmxvYXQg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpwbGF5YmFja1Bvc2l0aW9uKCkgY29uc3QKICAg
ICAgICAgLy8gd2hhdCB0aGUgTWVkaWEgZWxlbWVudCBzcGVjIGV4cGVjdHMgdXMgdG8gZG8uCiAg
ICAgICAgIGlmIChtX3NlZWtpbmcpCiAgICAgICAgICAgICByZXR1cm4gbV9zZWVrVGltZTsKLSAg
ICAgICAgaWYgKG1fbWVkaWFEdXJhdGlvbikKLSAgICAgICAgICAgIHJldHVybiBtX21lZGlhRHVy
YXRpb247CisKKyAgICAgICAgZmxvYXQgbWVkaWFEdXJhdGlvbiA9IGR1cmF0aW9uKCk7CisgICAg
ICAgIGlmIChtZWRpYUR1cmF0aW9uKQorICAgICAgICAgICAgcmV0dXJuIG1lZGlhRHVyYXRpb247
CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIApAQCAtNDE2LDEyICs0MjEsMTIgQEAgZmxvYXQg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpkdXJhdGlvbigpIGNvbnN0CiAgICAgaWYgKG1f
ZXJyb3JPY2N1cmVkKQogICAgICAgICByZXR1cm4gMC4wZjsKIAotICAgIC8vIE1lZGlhIGR1cmF0
aW9uIHF1ZXJ5IGZhaWxlZCBhbHJlYWR5LCBkb24ndCBhdHRlbXB0IG5ldyB1c2VsZXNzIHF1ZXJp
ZXMuCi0gICAgaWYgKCFtX21lZGlhRHVyYXRpb25Lbm93bikKLSAgICAgICAgcmV0dXJuIG51bWVy
aWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKTsKKyAgICBpZiAobV9kdXJhdGlvbkF0RU9TKQor
ICAgICAgICByZXR1cm4gbV9kdXJhdGlvbkF0RU9TOwogCi0gICAgaWYgKG1fbWVkaWFEdXJhdGlv
bikKLSAgICAgICAgcmV0dXJuIG1fbWVkaWFEdXJhdGlvbjsKKyAgICAvLyBUaGUgZHVyYXRpb24g
cXVlcnkgd291bGQgZmFpbCBvbiBhIG5vdC1wcmVyb2xsZWQgcGlwZWxpbmUuCisgICAgaWYgKEdT
VF9TVEFURShtX3BpcGVsaW5lLmdldCgpKSA8IEdTVF9TVEFURV9QQVVTRUQpCisgICAgICAgIHJl
dHVybiAwLjBmOwogCiAgICAgR3N0Rm9ybWF0IHRpbWVGb3JtYXQgPSBHU1RfRk9STUFUX1RJTUU7
CiAgICAgZ2ludDY0IHRpbWVMZW5ndGggPSAwOwpAQCAtNDM0LDggKzQzOSw3IEBAIGZsb2F0IE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZHVyYXRpb24oKSBjb25zdAogCiAgICAgTE9HX01F
RElBX01FU1NBR0UoIkR1cmF0aW9uOiAlIiBHU1RfVElNRV9GT1JNQVQsIEdTVF9USU1FX0FSR1Mo
dGltZUxlbmd0aCkpOwogCi0gICAgbV9tZWRpYUR1cmF0aW9uID0gc3RhdGljX2Nhc3Q8ZG91Ymxl
Pih0aW1lTGVuZ3RoKSAvIEdTVF9TRUNPTkQ7Ci0gICAgcmV0dXJuIG1fbWVkaWFEdXJhdGlvbjsK
KyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZG91YmxlPih0aW1lTGVuZ3RoKSAvIEdTVF9TRUNPTkQ7
CiAgICAgLy8gRklYTUU6IGhhbmRsZSAzLjE0LjkuNSBwcm9wZXJseQogfQogCkBAIC01MTQsNiAr
NTE4LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNlZWsoZmxvYXQgdGlt
ZSkKICAgICBtX3NlZWtpbmcgPSB0cnVlOwogICAgIG1fc2Vla1RpbWUgPSB0aW1lOwogICAgIG1f
aXNFbmRSZWFjaGVkID0gZmFsc2U7CisgICAgbV9kdXJhdGlvbkF0RU9TID0gMDsKIH0KIAogYm9v
bCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmRvU2VlayhnaW50NjQgcG9zaXRpb24sIGZs
b2F0IHJhdGUsIEdzdFNlZWtGbGFncyBzZWVrVHlwZSkKQEAgLTExNzcsMTYgKzExODIsMTUgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmZpbGxUaW1lckZpcmVkKCkKIAogICAg
IExPR19NRURJQV9NRVNTQUdFKCJbQnVmZmVyaW5nXSBEb3dubG9hZCBidWZmZXIgZmlsbGVkIHVw
IHRvICVmJSUiLCBmaWxsU3RhdHVzKTsKIAotICAgIGlmICghbV9tZWRpYUR1cmF0aW9uKQotICAg
ICAgICBkdXJhdGlvbkNoYW5nZWQoKTsKKyAgICBmbG9hdCBtZWRpYUR1cmF0aW9uID0gZHVyYXRp
b24oKTsKIAogICAgIC8vIFVwZGF0ZSBtYXhUaW1lTG9hZGVkIG9ubHkgaWYgdGhlIG1lZGlhIGR1
cmF0aW9uIGlzCiAgICAgLy8gYXZhaWxhYmxlLiBPdGhlcndpc2Ugd2UgY2FuJ3QgY29tcHV0ZSBp
dC4KLSAgICBpZiAobV9tZWRpYUR1cmF0aW9uKSB7CisgICAgaWYgKG1lZGlhRHVyYXRpb24pIHsK
ICAgICAgICAgaWYgKGZpbGxTdGF0dXMgPT0gMTAwLjApCi0gICAgICAgICAgICBtX21heFRpbWVM
b2FkZWQgPSBtX21lZGlhRHVyYXRpb247CisgICAgICAgICAgICBtX21heFRpbWVMb2FkZWQgPSBt
ZWRpYUR1cmF0aW9uOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX21heFRpbWVMb2FkZWQg
PSBzdGF0aWNfY2FzdDxmbG9hdD4oKGZpbGxTdGF0dXMgKiBtX21lZGlhRHVyYXRpb24pIC8gMTAw
LjApOworICAgICAgICAgICAgbV9tYXhUaW1lTG9hZGVkID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KChm
aWxsU3RhdHVzICogbWVkaWFEdXJhdGlvbikgLyAxMDAuMCk7CiAgICAgICAgIExPR19NRURJQV9N
RVNTQUdFKCJbQnVmZmVyaW5nXSBVcGRhdGVkIG1heFRpbWVMb2FkZWQ6ICVmIiwgbV9tYXhUaW1l
TG9hZGVkKTsKICAgICB9CiAKQEAgLTEyMDgsMTIgKzEyMTIsMTMgQEAgZmxvYXQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjptYXhUaW1lU2Vla2FibGUoKSBjb25zdAogICAgIGlmIChtX2Vy
cm9yT2NjdXJlZCkKICAgICAgICAgcmV0dXJuIDAuMGY7CiAKLSAgICBMT0dfTUVESUFfTUVTU0FH
RSgibWF4VGltZVNlZWthYmxlIik7CisgICAgZmxvYXQgbWVkaWFEdXJhdGlvbiA9IGR1cmF0aW9u
KCk7CisgICAgTE9HX01FRElBX01FU1NBR0UoIm1heFRpbWVTZWVrYWJsZSwgZHVyYXRpb246ICVm
IiwgbWVkaWFEdXJhdGlvbik7CiAgICAgLy8gaW5maW5pdGUgZHVyYXRpb24gbWVhbnMgbGl2ZSBz
dHJlYW0KLSAgICBpZiAoc3RkOjppc2luZihkdXJhdGlvbigpKSkKKyAgICBpZiAoc3RkOjppc2lu
ZihtZWRpYUR1cmF0aW9uKSkKICAgICAgICAgcmV0dXJuIDAuMGY7CiAKLSAgICByZXR1cm4gZHVy
YXRpb24oKTsKKyAgICByZXR1cm4gbWVkaWFEdXJhdGlvbjsKIH0KIAogZmxvYXQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjptYXhUaW1lTG9hZGVkKCkgY29uc3QKQEAgLTEyMjIsMTUgKzEy
MjcsMTUgQEAgZmxvYXQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjptYXhUaW1lTG9hZGVk
KCkgY29uc3QKICAgICAgICAgcmV0dXJuIDAuMGY7CiAKICAgICBmbG9hdCBsb2FkZWQgPSBtX21h
eFRpbWVMb2FkZWQ7Ci0gICAgaWYgKG1faXNFbmRSZWFjaGVkICYmIG1fbWVkaWFEdXJhdGlvbikK
LSAgICAgICAgbG9hZGVkID0gbV9tZWRpYUR1cmF0aW9uOworICAgIGlmIChtX2lzRW5kUmVhY2hl
ZCkKKyAgICAgICAgbG9hZGVkID0gZHVyYXRpb24oKTsKICAgICBMT0dfTUVESUFfTUVTU0FHRSgi
bWF4VGltZUxvYWRlZDogJWYiLCBsb2FkZWQpOwogICAgIHJldHVybiBsb2FkZWQ7CiB9CiAKIGJv
b2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpkaWRMb2FkaW5nUHJvZ3Jlc3MoKSBjb25z
dAogewotICAgIGlmICghbV9waXBlbGluZSB8fCAhbV9tZWRpYUR1cmF0aW9uIHx8ICghaXNNZWRp
YVNvdXJjZSgpICYmICF0b3RhbEJ5dGVzKCkpKQorICAgIGlmICghbV9waXBlbGluZSB8fCAhZHVy
YXRpb24oKSB8fCAoIWlzTWVkaWFTb3VyY2UoKSAmJiAhdG90YWxCeXRlcygpKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGZsb2F0IGN1cnJlbnRNYXhUaW1lTG9hZGVkID0gbWF4VGltZUxv
YWRlZCgpOwogICAgIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzID0gY3VycmVudE1heFRpbWVMb2Fk
ZWQgIT0gbV9tYXhUaW1lTG9hZGVkQXRMYXN0RGlkTG9hZGluZ1Byb2dyZXNzOwpAQCAtMTM3NCwx
MyArMTM3OSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVTdGF0
ZXMoKQogICAgICAgICBpZiAobV9pc0VuZFJlYWNoZWQgJiYgc3RhdGUgPT0gR1NUX1NUQVRFX1JF
QURZKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgaWYgKHN0YXRlIDw9IEdTVF9TVEFU
RV9SRUFEWSkgewotICAgICAgICAgICAgbV9yZXNldFBpcGVsaW5lID0gdHJ1ZTsKLSAgICAgICAg
ICAgIG1fbWVkaWFEdXJhdGlvbiA9IDA7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBt
X3Jlc2V0UGlwZWxpbmUgPSBmYWxzZTsKLSAgICAgICAgICAgIGNhY2hlRHVyYXRpb24oKTsKLSAg
ICAgICAgfQorICAgICAgICBtX3Jlc2V0UGlwZWxpbmUgPSBzdGF0ZSA8PSBHU1RfU1RBVEVfUkVB
RFk7CiAKICAgICAgICAgYm9vbCBkaWRCdWZmZXJpbmcgPSBtX2J1ZmZlcmluZzsKIApAQCAtMTYx
NSw0OCArMTYxNCwyOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZGlkRW5k
KCkKICAgICAvLyBIVE1MTWVkaWFFbGVtZW50LiBJbiBzb21lIGNhc2VzIGxpa2UgcmV2ZXJzZSBw
bGF5YmFjayB0aGUKICAgICAvLyBwb3NpdGlvbiBpcyBub3QgYWx3YXlzIHJlcG9ydGVkIGFzIDAg
Zm9yIGluc3RhbmNlLgogICAgIGZsb2F0IG5vdyA9IGN1cnJlbnRUaW1lKCk7Ci0gICAgaWYgKG5v
dyA+IDAgJiYgbm93IDw9IGR1cmF0aW9uKCkgJiYgbV9tZWRpYUR1cmF0aW9uICE9IG5vdykgewot
ICAgICAgICBtX21lZGlhRHVyYXRpb25Lbm93biA9IHRydWU7Ci0gICAgICAgIG1fbWVkaWFEdXJh
dGlvbiA9IG5vdzsKKyAgICBpZiAobm93ID4gMCAmJiBub3cgPD0gZHVyYXRpb24oKSkKICAgICAg
ICAgbV9wbGF5ZXItPmR1cmF0aW9uQ2hhbmdlZCgpOwotICAgIH0KIAogICAgIG1faXNFbmRSZWFj
aGVkID0gdHJ1ZTsKICAgICB0aW1lQ2hhbmdlZCgpOwogCiAgICAgaWYgKCFtX3BsYXllci0+Y2xp
ZW50KCkubWVkaWFQbGF5ZXJJc0xvb3BpbmcoKSkgewogICAgICAgICBtX3BhdXNlZCA9IHRydWU7
CisgICAgICAgIG1fZHVyYXRpb25BdEVPUyA9IGR1cmF0aW9uKCk7CiAgICAgICAgIGNoYW5nZVBp
cGVsaW5lU3RhdGUoR1NUX1NUQVRFX1JFQURZKTsKICAgICAgICAgbV9kb3dubG9hZEZpbmlzaGVk
ID0gZmFsc2U7CiAgICAgfQogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
Y2FjaGVEdXJhdGlvbigpCi17Ci0gICAgaWYgKG1fbWVkaWFEdXJhdGlvbiB8fCAhbV9tZWRpYUR1
cmF0aW9uS25vd24pCi0gICAgICAgIHJldHVybjsKLQotICAgIGZsb2F0IG5ld0R1cmF0aW9uID0g
ZHVyYXRpb24oKTsKLSAgICBpZiAoc3RkOjppc2luZihuZXdEdXJhdGlvbikpIHsKLSAgICAgICAg
Ly8gT25seSBwcmV0ZW5kIHRoYXQgZHVyYXRpb24gaXMgbm90IGF2YWlsYWJsZSBpZiB0aGUgdGhl
IHF1ZXJ5IGZhaWxlZCBpbiBhIHN0YWJsZSBwaXBlbGluZSBzdGF0ZS4KLSAgICAgICAgR3N0U3Rh
dGUgc3RhdGU7Ci0gICAgICAgIGlmIChnc3RfZWxlbWVudF9nZXRfc3RhdGUobV9waXBlbGluZS5n
ZXQoKSwgJnN0YXRlLCBudWxscHRyLCAwKSA9PSBHU1RfU1RBVEVfQ0hBTkdFX1NVQ0NFU1MgJiYg
c3RhdGUgPiBHU1RfU1RBVEVfUkVBRFkpCi0gICAgICAgICAgICBtX21lZGlhRHVyYXRpb25Lbm93
biA9IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbV9tZWRpYUR1cmF0aW9u
ID0gbmV3RHVyYXRpb247Ci19Ci0KIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpk
dXJhdGlvbkNoYW5nZWQoKQogewotICAgIGZsb2F0IHByZXZpb3VzRHVyYXRpb24gPSBtX21lZGlh
RHVyYXRpb247CisgICAgZmxvYXQgcHJldmlvdXNEdXJhdGlvbiA9IGR1cmF0aW9uKCk7CiAKLSAg
ICBjYWNoZUR1cmF0aW9uKCk7CiAgICAgLy8gQXZvaWQgZW1pdGluZyBkdXJhdGlvbmNoYW5nZWQg
aW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHByZXZpb3VzCiAgICAgLy8gZHVyYXRpb24gd2FzIDAgYmVj
YXVzZSB0aGF0IGNhc2UgaXMgYWxyZWFkeSBoYW5kbGVkIGJ5IHRoZQogICAgIC8vIEhUTUxNZWRp
YUVsZW1lbnQuCi0gICAgaWYgKHByZXZpb3VzRHVyYXRpb24gJiYgbV9tZWRpYUR1cmF0aW9uICE9
IHByZXZpb3VzRHVyYXRpb24pCisgICAgaWYgKHByZXZpb3VzRHVyYXRpb24gJiYgZHVyYXRpb24o
KSAhPSBwcmV2aW91c0R1cmF0aW9uKQogICAgICAgICBtX3BsYXllci0+ZHVyYXRpb25DaGFuZ2Vk
KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApp
bmRleCAyNDEzOWNmLi5hY2Q3NjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5oCkBAIC0xMzcsNyArMTM3LDYgQEAgcHJpdmF0ZToKIAogICAgIGZsb2F0
IHBsYXliYWNrUG9zaXRpb24oKSBjb25zdDsKIAotICAgIHZvaWQgY2FjaGVEdXJhdGlvbigpOwog
ICAgIHZvaWQgdXBkYXRlU3RhdGVzKCk7CiAgICAgdm9pZCBhc3luY1N0YXRlQ2hhbmdlRG9uZSgp
OwogCkBAIC0yMTksMTQgKzIxOCwxMyBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fcGxheWJhY2tS
YXRlOwogICAgIGZsb2F0IG1fbGFzdFBsYXliYWNrUmF0ZTsKICAgICBib29sIG1fZXJyb3JPY2N1
cmVkOwotICAgIG11dGFibGUgZ2Zsb2F0IG1fbWVkaWFEdXJhdGlvbjsKICAgICBib29sIG1fZG93
bmxvYWRGaW5pc2hlZDsKKyAgICBmbG9hdCBtX2R1cmF0aW9uQXRFT1M7CiAgICAgVGltZXIgbV9m
aWxsVGltZXI7CiAgICAgZmxvYXQgbV9tYXhUaW1lTG9hZGVkOwogICAgIGludCBtX2J1ZmZlcmlu
Z1BlcmNlbnRhZ2U7CiAgICAgTWVkaWFQbGF5ZXI6OlByZWxvYWQgbV9wcmVsb2FkOwogICAgIGJv
b2wgbV9kZWxheWluZ0xvYWQ7Ci0gICAgYm9vbCBtX21lZGlhRHVyYXRpb25Lbm93bjsKICAgICBt
dXRhYmxlIGZsb2F0IG1fbWF4VGltZUxvYWRlZEF0TGFzdERpZExvYWRpbmdQcm9ncmVzczsKICAg
ICBib29sIG1fdm9sdW1lQW5kTXV0ZUluaXRpYWxpemVkOwogICAgIGJvb2wgbV9oYXNWaWRlbzsK
LS0gCjIuOC4x
</data>

          </attachment>
      

    </bug>

</bugzilla>