<?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>181891</bug_id>
          
          <creation_ts>2018-01-19 16:12:57 -0800</creation_ts>
          <short_desc>REGRESSION (macOS 10.13.2): imported/w3c/web-platform-tests/media-source/mediasource-* LayoutTests failing</short_desc>
          <delta_ts>2018-05-15 10:06:51 -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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>aboya</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1391269</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-01-19 16:12:57 -0800</bug_when>
    <thetext>REGRESSION (macOS 10.13.2): imported/w3c/web-platform-tests/media-source/mediasource-* LayoutTests failing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391285</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-01-19 16:42:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/35395437&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391286</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-19 16:42:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/36676030&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391287</commentid>
    <comment_count>3</comment_count>
      <attachid>331815</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-01-19 16:42:53 -0800</bug_when>
    <thetext>Created attachment 331815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391527</commentid>
    <comment_count>4</comment_count>
      <attachid>331815</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-21 18:38:56 -0800</bug_when>
    <thetext>Comment on attachment 331815
Patch

Clearing flags on attachment: 331815

Committed r227278: &lt;https://trac.webkit.org/changeset/227278&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391528</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-21 18:38:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423742</commentid>
    <comment_count>6</comment_count>
      <attachid>331815</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2018-05-14 13:12:49 -0700</bug_when>
    <thetext>Comment on attachment 331815
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        In macOS 10.13.2, CoreMedia changed the definition of CMSampleBufferGetDuration() to return
&gt; +        the presentation duration rather than the decode duration. For media streams where those two

What was the motivation for this change in CoreMedia? Presentation duration is more complex to compute (AFAIK you can&apos;t compute it until you reach a sync frame, and only for the frames before it -- which is a bit problematic for fragmented media) and often ambiguous (in absence of a clsg box the presentation duration of the last frame is unknown).

What are the implications for other platforms where decode durations are still used?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423832</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-05-14 15:52:40 -0700</bug_when>
    <thetext>(In reply to Alicia Boya García from comment #6)
&gt; Comment on attachment 331815 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=331815&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        In macOS 10.13.2, CoreMedia changed the definition of CMSampleBufferGetDuration() to return
&gt; &gt; +        the presentation duration rather than the decode duration. For media streams where those two
&gt; 
&gt; What was the motivation for this change in CoreMedia? Presentation duration
&gt; is more complex to compute (AFAIK you can&apos;t compute it until you reach a
&gt; sync frame, and only for the frames before it -- which is a bit problematic
&gt; for fragmented media) and often ambiguous (in absence of a clsg box the
&gt; presentation duration of the last frame is unknown).

IIRC, CoreMedia&apos;s clients were using the return value of CMSampleBufferGetDuration() to mean the presentation duration, and not the decode duration. I definitely raised all the above issues with them at the time, to no avail.

&gt; What are the implications for other platforms where decode durations are
&gt; still used?

It&apos;s a problem for the MSE spec in general; practically speaking, decoded-and-displayed frames are left in place until a new frame replaces them, so &quot;decode duration&quot; isn&apos;t really a thing.  The MSE spec has kind of papered over this issue by adding &quot;fudge factors&quot; to a variety of places (1 millisecond here, 250 milliseconds there).

Meanwhile, I&apos;ve asked the CoreMedia team for a new API, such as CMSampleBufferGetDecodeDuration(). They&apos;ve not been very receptive, however. From their POV, there&apos;s no use case for knowing the decode duration. I&apos;d encourage anyone who can come up with one to file a bug at http://bugreport.apple.com/ with their use cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423838</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-05-14 16:03:13 -0700</bug_when>
    <thetext>(In reply to Alicia Boya García from comment #6)
&gt; What are the implications for other platforms where decode durations are
&gt; still used?

Continuing: I carefully crafted the fix such that other platforms should not be affected. At runtime, we calculate the &quot;greatest decode duration&quot; based on successive decode timestamps, so the algorithm should work whether the platform supports decode durations or not. In this, the new behavior should match Firefox&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424009</commentid>
    <comment_count>9</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2018-05-15 07:07:30 -0700</bug_when>
    <thetext>I can&apos;t help but wonder what does CoreMedia to get presentation durations in fragmented media: How do you figure out the presentation duration of the last frame in a fragment? Wouldn&apos;t you need the first (sync) frame of the next fragment for that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424053</commentid>
    <comment_count>10</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-05-15 10:06:51 -0700</bug_when>
    <thetext>(In reply to Alicia Boya García from comment #9)
&gt; I can&apos;t help but wonder what does CoreMedia to get presentation durations in
&gt; fragmented media: How do you figure out the presentation duration of the
&gt; last frame in a fragment? Wouldn&apos;t you need the first (sync) frame of the
&gt; next fragment for that?

Yes, you would. But since they don&apos;t (necessarily) have that information, they use the decode duration for the presentation duration, which is almost always going to be incorrect.  I pointed this out at the time as well. :-/</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331815</attachid>
            <date>2018-01-19 16:42:53 -0800</date>
            <delta_ts>2018-01-21 18:38:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181891-20180119164252.patch</filename>
            <type>text/plain</type>
            <size>8343</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3MDA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmUxYjljNjZiZGY2YzY2
MjZmYjhjN2RlZTE1OWJjZDgxYWViM2ZiNi4uOGNjNGRlNzM2Y2E0ZjI0ZTVkZmUzNTE3ZTQzY2Qw
ODZhYmUzNmQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE4LTAxLTE5ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKG1hY09T
IDEwLjEzLjIpOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9t
ZWRpYXNvdXJjZS0qIExheW91dFRlc3RzIGZhaWxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTg5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG1hY09TIDEwLjEzLjIsIENvcmVNZWRpYSBjaGFu
Z2VkIHRoZSBkZWZpbml0aW9uIG9mIENNU2FtcGxlQnVmZmVyR2V0RHVyYXRpb24oKSB0byByZXR1
cm4KKyAgICAgICAgdGhlIHByZXNlbnRhdGlvbiBkdXJhdGlvbiByYXRoZXIgdGhhbiB0aGUgZGVj
b2RlIGR1cmF0aW9uLiBGb3IgbWVkaWEgc3RyZWFtcyB3aGVyZSB0aG9zZSB0d28KKyAgICAgICAg
ZHVyYXRpb25zIGFyZSBpZGVudGljYWwgKG9yIGF0IGxlYXN0LCBjbG9zZWx5IHNpbWlsYXIpLCB0
aGlzIGlzbid0IGEgcHJvYmxlbS4gQnV0IHRoZSBtZWRpYQorICAgICAgICBmaWxlIHVzZWQgaW4g
dGhlIFdQVCB0ZXN0cyBoYXZlIGFuIHVudXN1YWwgZnJhbWUgY2FkZW5jZTogZGVjb2RlIGR1cmF0
aW9ucyBnbyB7MzAwMCwgMSwgNTk5OSwKKyAgICAgICAgMSwgNTk5OSwuLi59IGFuZCBwcmVzZW50
YXRpb24gZHVyYXRpb25zIGdvIHszMDAwLCAyOTk5LCAzMDAwLCAyOTk5fS4gVGhpcyBjYXVzZWQg
b25lIGNoZWNrIGluCisgICAgICAgIHRoZSAiQ29kZWQgRnJhbWUgUHJvY2Vzc2luZyIgYWxnb3Jp
dGhtIHRvIGJlZ2luIGZhaWxpbmcsIHdoZXJlIGl0IGNoZWNrcyB0aGF0IHRoZSBkZWx0YQorICAg
ICAgICBiZXR3ZWVuIHRoZSBsYXN0IHNhbXBsZSdzIGRlY29kZSB0aW1lIGFuZCB0aGUgbmV3IGRl
Y29kZSB0aW1lIGlzIG5vIG1vcmUgdGhhbiAyeCBhcyBmYXIgYXMKKyAgICAgICAgdGhlIGxhc3Qg
c2FtcGxlJ3MgZHVyYXRpb24uIFRoYXQncyBub3QgYSBwcm9ibGVtIGFzIGxvbmcgYXMgdGhlICJk
dXJhdGlvbiIgaXMgdGhlICJkZWNvZGUKKyAgICAgICAgZHVyYXRpb24iIGFuZCB0aGUgc2FtcGxl
cyBhcmUgYWxsIGFkamFjZW50LiBPbmNlIHRoZSAiZHVyYXRpb24iIGlzICJwcmVzZW50YXRpb24g
ZHVyYXRpb24iLAorICAgICAgICBhbGwgdGhlIGFzc3VtcHRpb25zIGluIHRoZSBhbGdvcml0aG0g
YXJlIGludmFsaWRhdGVkLiBJbiB0aGUgV1BUIHRlc3QgY2FzZSwgdGhlIGRlbHRhIGJldHdlZW4K
KyAgICAgICAgZGVjb2RlIHRpbWVzIGlzIDU5OTksIGFuZCAyICogdGhlIHByZXNlbnRhdGlvbiBk
dXJhdGlvbiBpcyA1OTk4LCBjYXVzaW5nIGFsbCBzYW1wbGVzIHVwIHRvCisgICAgICAgIHRoZSBu
ZXh0IHN5bmMgc2FtcGxlIHRvIGJlIGRyb3BwZWQuCisKKyAgICAgICAgVG8gd29yayBhcm91bmQg
dGhpcyBjaGFuZ2UgaW4gYmVoYXZpb3IsIHdlJ2xsIGFkb3B0IHRoZSBzYW1lIHRlY2huaXF1ZSB1
c2VkIGJ5IE1vemlsbGEncyBNU0UKKyAgICAgICAgaW1wbGVtZW50YXRpb24sIHdoaWNoIHdhcyBk
b25lIGZvciBzaW1pbGFyIHJlYXNvbnMuIFJhdGhlciB0aGFuIHRyYWNrIHRoZSAibGFzdCBmcmFt
ZSBkdXJhdGlvbiIsCisgICAgICAgIHdlJ2xsIHJlY29yZCB0aGUgImdyZWF0ZXN0IGZyYW1lIGR1
cmF0aW9uIiwgYW5kIHVzZSBhY3R1YWwgZGVjb2RlIHRpbWVzdGFtcHMgdG8gZGVyaXZlIHRoaXMK
KyAgICAgICAgZHVyYXRpb24uIFRoZSAiZ3JlYXRlc3QgZnJhbWUgZHVyYXRpb24iIGZpZWxkIHdp
bGwgYmUgcmVzZXQgYXQgdGhlIHNhbWUgdGltZXMgYXMgImxhc3QgZnJhbWUKKyAgICAgICAgZHVy
YXRpb24iLCBhbmQgd2lsbCBiZSB1c2VkIG9ubHkgaW4gdGhlIHBhcnQgb2YgdGhlIGFsZ29yaXRo
bSB0aGF0IGNoZWNrcyBmb3IgbGFyZ2UgZGVjb2RlCisgICAgICAgIHRpbWVzdGFtcCBnYXBzLgor
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpUcmFja0J1ZmZlcjo6VHJhY2tCdWZmZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpyZXNldFBhcnNlclN0YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1w
bGUpOgorCiAyMDE4LTAxLTE4ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbGVhc2UgQVNTRVJUIHdoZW4gcmVsb2FkaW5nIFZpbWVvIHBhZ2UgQCBXZWJDb3Jl
OiBXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggYWZiOWZlODc4MWJi
Y2VmZmJmNmE2ZWFiYTE2MjUwZjJhOTFmY2ViZC4uYzc5NzU3YWFkOTViNTg4NTgyY2MxYWQ0OTAy
M2EwYzExMjdmYjE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtNjQsNiArNjQsNyBAQCBzdGF0aWMgY29uc3QgZG91
YmxlIEV4cG9uZW50aWFsTW92aW5nQXZlcmFnZUNvZWZmaWNpZW50ID0gMC4xOwogCiBzdHJ1Y3Qg
U291cmNlQnVmZmVyOjpUcmFja0J1ZmZlciB7CiAgICAgTWVkaWFUaW1lIGxhc3REZWNvZGVUaW1l
c3RhbXA7CisgICAgTWVkaWFUaW1lIGdyZWF0ZXN0RGVjb2RlRHVyYXRpb247CiAgICAgTWVkaWFU
aW1lIGxhc3RGcmFtZUR1cmF0aW9uOwogICAgIE1lZGlhVGltZSBoaWdoZXN0UHJlc2VudGF0aW9u
VGltZXN0YW1wOwogICAgIE1lZGlhVGltZSBsYXN0RW5xdWV1ZWRQcmVzZW50YXRpb25UaW1lOwpA
QCAtNzgsNiArNzksNyBAQCBzdHJ1Y3QgU291cmNlQnVmZmVyOjpUcmFja0J1ZmZlciB7CiAKICAg
ICBUcmFja0J1ZmZlcigpCiAgICAgICAgIDogbGFzdERlY29kZVRpbWVzdGFtcChNZWRpYVRpbWU6
OmludmFsaWRUaW1lKCkpCisgICAgICAgICwgZ3JlYXRlc3REZWNvZGVEdXJhdGlvbihNZWRpYVRp
bWU6OmludmFsaWRUaW1lKCkpCiAgICAgICAgICwgbGFzdEZyYW1lRHVyYXRpb24oTWVkaWFUaW1l
OjppbnZhbGlkVGltZSgpKQogICAgICAgICAsIGhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3RhbXAo
TWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQogICAgICAgICAsIGxhc3RFbnF1ZXVlZFByZXNlbnRh
dGlvblRpbWUoTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQpAQCAtMjQ3LDYgKzI0OSw3IEBAIHZv
aWQgU291cmNlQnVmZmVyOjpyZXNldFBhcnNlclN0YXRlKCkKICAgICAvLyA1LiBTZXQgdGhlIG5l
ZWQgcmFuZG9tIGFjY2VzcyBwb2ludCBmbGFnIG9uIGFsbCB0cmFjayBidWZmZXJzIHRvIHRydWUu
CiAgICAgZm9yIChhdXRvJiB0cmFja0J1ZmZlclBhaXIgOiBtX3RyYWNrQnVmZmVyTWFwLnZhbHVl
cygpKSB7CiAgICAgICAgIHRyYWNrQnVmZmVyUGFpci5sYXN0RGVjb2RlVGltZXN0YW1wID0gTWVk
aWFUaW1lOjppbnZhbGlkVGltZSgpOworICAgICAgICB0cmFja0J1ZmZlclBhaXIuZ3JlYXRlc3RE
ZWNvZGVEdXJhdGlvbiA9IE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKTsKICAgICAgICAgdHJhY2tC
dWZmZXJQYWlyLmxhc3RGcmFtZUR1cmF0aW9uID0gTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpOwog
ICAgICAgICB0cmFja0J1ZmZlclBhaXIuaGlnaGVzdFByZXNlbnRhdGlvblRpbWVzdGFtcCA9IE1l
ZGlhVGltZTo6aW52YWxpZFRpbWUoKTsKICAgICAgICAgdHJhY2tCdWZmZXJQYWlyLm5lZWRSYW5k
b21BY2Nlc3NGbGFnID0gdHJ1ZTsKQEAgLTEzOTIsNyArMTM5NSw3IEBAIHZvaWQgU291cmNlQnVm
ZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShNZWRpYVNhbXBsZSYgc2Ft
cGxlKQogICAgICAgICAvLyDihrMgSWYgbGFzdCBkZWNvZGUgdGltZXN0YW1wIGZvciB0cmFjayBi
dWZmZXIgaXMgc2V0IGFuZCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGRlY29kZSB0aW1lc3RhbXAg
YW5kCiAgICAgICAgIC8vIGxhc3QgZGVjb2RlIHRpbWVzdGFtcCBpcyBncmVhdGVyIHRoYW4gMiB0
aW1lcyBsYXN0IGZyYW1lIGR1cmF0aW9uOgogICAgICAgICBpZiAodHJhY2tCdWZmZXIubGFzdERl
Y29kZVRpbWVzdGFtcC5pc1ZhbGlkKCkgJiYgKGRlY29kZVRpbWVzdGFtcCA8IHRyYWNrQnVmZmVy
Lmxhc3REZWNvZGVUaW1lc3RhbXAKLSAgICAgICAgICAgIHx8IGFicyhkZWNvZGVUaW1lc3RhbXAg
LSB0cmFja0J1ZmZlci5sYXN0RGVjb2RlVGltZXN0YW1wKSA+ICh0cmFja0J1ZmZlci5sYXN0RnJh
bWVEdXJhdGlvbiAqIDIpKSkgeworICAgICAgICAgICAgfHwgKHRyYWNrQnVmZmVyLmdyZWF0ZXN0
RGVjb2RlRHVyYXRpb24uaXNWYWxpZCgpICYmIGFicyhkZWNvZGVUaW1lc3RhbXAgLSB0cmFja0J1
ZmZlci5sYXN0RGVjb2RlVGltZXN0YW1wKSA+ICh0cmFja0J1ZmZlci5ncmVhdGVzdERlY29kZUR1
cmF0aW9uICogMikpKSkgewogCiAgICAgICAgICAgICAvLyAxLjYuMToKICAgICAgICAgICAgIGlm
IChtX21vZGUgPT0gQXBwZW5kTW9kZTo6U2VnbWVudHMpIHsKQEAgLTE0MDksNiArMTQxMiw3IEBA
IHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShN
ZWRpYVNhbXBsZSYgc2FtcGxlKQogICAgICAgICAgICAgICAgIC8vIDEuNi4yIFVuc2V0IHRoZSBs
YXN0IGRlY29kZSB0aW1lc3RhbXAgb24gYWxsIHRyYWNrIGJ1ZmZlcnMuCiAgICAgICAgICAgICAg
ICAgdHJhY2tCdWZmZXIubGFzdERlY29kZVRpbWVzdGFtcCA9IE1lZGlhVGltZTo6aW52YWxpZFRp
bWUoKTsKICAgICAgICAgICAgICAgICAvLyAxLjYuMyBVbnNldCB0aGUgbGFzdCBmcmFtZSBkdXJh
dGlvbiBvbiBhbGwgdHJhY2sgYnVmZmVycy4KKyAgICAgICAgICAgICAgICB0cmFja0J1ZmZlci5n
cmVhdGVzdERlY29kZUR1cmF0aW9uID0gTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpOwogICAgICAg
ICAgICAgICAgIHRyYWNrQnVmZmVyLmxhc3RGcmFtZUR1cmF0aW9uID0gTWVkaWFUaW1lOjppbnZh
bGlkVGltZSgpOwogICAgICAgICAgICAgICAgIC8vIDEuNi40IFVuc2V0IHRoZSBoaWdoZXN0IHBy
ZXNlbnRhdGlvbiB0aW1lc3RhbXAgb24gYWxsIHRyYWNrIGJ1ZmZlcnMuCiAgICAgICAgICAgICAg
ICAgdHJhY2tCdWZmZXIuaGlnaGVzdFByZXNlbnRhdGlvblRpbWVzdGFtcCA9IE1lZGlhVGltZTo6
aW52YWxpZFRpbWUoKTsKQEAgLTE1OTMsNiArMTU5NywxNCBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6
c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkK
ICAgICAgICAgICAgIHRyYWNrQnVmZmVyLmRlY29kZVF1ZXVlLmluc2VydChEZWNvZGVPcmRlclNh
bXBsZU1hcDo6TWFwVHlwZTo6dmFsdWVfdHlwZShkZWNvZGVLZXksICZzYW1wbGUpKTsKICAgICAg
ICAgfQogCisgICAgICAgIC8vIE5PVEU6IHRoZSBzcGVjIGNvbnNpZGVycyAiQ29kZWQgRnJhbWUg
RHVyYXRpb24iIHRvIGJlIHRoZSBwcmVzZW50YXRpb24gZHVyYXRpb24sIGJ1dCB0aGlzIGlzIG5v
dCBuZWNlc3NhcmlseSBlcXVhbAorICAgICAgICAvLyB0byB0aGUgZGVjb2RlZCBkdXJhdGlvbi4g
V2hlbiBjb21wYXJpbmcgZGVsdGFzIGJldHdlZW4gZGVjb2RlIHRpbWVzdGFtcHMsIHRoZSBkZWNv
ZGUgZHVyYXRpb24sIG5vdCB0aGUgcHJlc2VudGF0aW9uLgorICAgICAgICBpZiAodHJhY2tCdWZm
ZXIubGFzdERlY29kZVRpbWVzdGFtcC5pc1ZhbGlkKCkpIHsKKyAgICAgICAgICAgIE1lZGlhVGlt
ZSBsYXN0RGVjb2RlRHVyYXRpb24gPSBkZWNvZGVUaW1lc3RhbXAgLSB0cmFja0J1ZmZlci5sYXN0
RGVjb2RlVGltZXN0YW1wOworICAgICAgICAgICAgaWYgKGxhc3REZWNvZGVEdXJhdGlvbiA+IHRy
YWNrQnVmZmVyLmdyZWF0ZXN0RGVjb2RlRHVyYXRpb24pCisgICAgICAgICAgICAgICAgdHJhY2tC
dWZmZXIuZ3JlYXRlc3REZWNvZGVEdXJhdGlvbiA9IGxhc3REZWNvZGVEdXJhdGlvbjsKKyAgICAg
ICAgfQorCiAgICAgICAgIC8vIDEuMTggU2V0IGxhc3QgZGVjb2RlIHRpbWVzdGFtcCBmb3IgdHJh
Y2sgYnVmZmVyIHRvIGRlY29kZSB0aW1lc3RhbXAuCiAgICAgICAgIHRyYWNrQnVmZmVyLmxhc3RE
ZWNvZGVUaW1lc3RhbXAgPSBkZWNvZGVUaW1lc3RhbXA7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMGI5Mjc2Yjg2Y2Vm
MDBiMDJmNDdlMTA1MjQ4Y2Y5MWE3ZmIzOGFhLi44NmZkNjZlNDYzODQwNDc3Y2ExZjYwZDI1YzAz
N2U0MWQyNTc4MmM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMDEtMTkgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAobWFjT1MgMTAu
MTMuMik6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlh
c291cmNlLSogTGF5b3V0VGVzdHMgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxODkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKwog
MjAxOC0wMS0xOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZWxlYXNlIEFTU0VSVCB3aGVuIHJlbG9hZGluZyBWaW1lbyBwYWdlIEAgV2ViQ29yZTogV2ViQ29y
ZTo6RG9jdW1lbnQ6OnVwZGF0ZUxheW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBkOTA1ZDM2MGQ1NWNlMWExNzQzYTJkZDg0N2Y1MzdmZmMzOTMxZDRh
Li5lMDE0ZmVmMWM1OGViZTM4NGZiMDUyYTBlOTVjNmVhNDM4YjE3OWZlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTc0NiwxMSArMTc0Niw2IEBAIHdl
YmtpdC5vcmcvYi8xNzU5OTggaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1
cmUtY3NzLXdpdGgtc2VjdXJlLWNvCiBbIEVsQ2FwaXRhbiBTaWVycmEgXSBwbGF0Zm9ybS9tYWMv
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL2Zwcy1nZW5lcmF0ZVJlcXVlc3QuaHRtbCBbIFNraXAgXQog
WyBFbENhcGl0YW4gU2llcnJhIF0gcGxhdGZvcm0vbWFjL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9m
cHMtZW5jcnlwdGVkLWV2ZW50Lmh0bWwgWyBTa2lwIF0KIAotIyByZGFyOi8vcHJvYmxlbS8zNTM5
NTQzNwotWyBIaWdoU2llcnJhKyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtc291cmNlL21lZGlhc291cmNlLXBsYXkuaHRtbCBbIEZhaWx1cmUgXQotWyBIaWdoU2llcnJh
KyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291
cmNlLXJlZHVuZGFudC1zZWVrLmh0bWwgWyBGYWlsdXJlIF0KLVsgSGlnaFNpZXJyYSsgXSBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1yZW1v
dmUuaHRtbCBbIEZhaWx1cmUgXQotCiB3ZWJraXQub3JnL2IvMTY1MzExIFsgU2llcnJhKyBdIG1l
ZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9waXAtc3VwcG9ydC9waXAtc3VwcG9ydC1jbGljay5o
dG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzE3NjY5MyBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vaWRidHJhbnNhY3Rpb24tb2JqZWN0c3RvcmUtZmFpbHVyZXMtcHJpdmF0ZS5o
dG1sIFsgUGFzcyBGYWlsdXJlIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>