<?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>118471</bug_id>
          
          <creation_ts>2013-07-08 07:19:01 -0700</creation_ts>
          <short_desc>[texmap][GStreamer] upload onto the texture only the buffer to be painted</short_desc>
          <delta_ts>2013-07-16 03:15:55 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>118253</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Víctor M. Jáquez L.">vjaquez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>luiz</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>noam</cc>
    
    <cc>pnormand</cc>
    
    <cc>rwlbuis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>906773</commentid>
    <comment_count>0</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2013-07-08 07:19:01 -0700</bug_when>
    <thetext>Right now all the buffers are uploaded onto the the texture, that creates situations where the unpainted buffers are uploaded. This patch changes the logic to upload only the buffers that are going to be shown.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907129</commentid>
    <comment_count>1</comment_count>
      <attachid>206326</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2013-07-09 09:09:20 -0700</bug_when>
    <thetext>Created attachment 206326
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907200</commentid>
    <comment_count>2</comment_count>
      <attachid>206326</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-07-09 11:52:54 -0700</bug_when>
    <thetext>Comment on attachment 206326
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:371
&gt; +    gst_buffer_map(m_buffer, &amp;srcInfo, GST_MAP_READ);

Would it make sense or have any benefit to use gst_video_frame_map/unmap?

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:384
&gt; +    return texture;

This returns a PassRefPtr now, so this should return texture.release() to transfer the ownership to the caller.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907295</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-07-10 00:15:20 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 206326 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=206326&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:371
&gt; &gt; +    gst_buffer_map(m_buffer, &amp;srcInfo, GST_MAP_READ);
&gt; 
&gt; Would it make sense or have any benefit to use gst_video_frame_map/unmap?
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:384
&gt; &gt; +    return texture;
&gt; 
&gt; This returns a PassRefPtr now, so this should return texture.release() to transfer the ownership to the caller.

I&apos;m wrong, the texture is not created here and passed to the caller, but fetched from the pool, so this is correct, sorry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907333</commentid>
    <comment_count>4</comment_count>
      <attachid>206326</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2013-07-10 03:27:41 -0700</bug_when>
    <thetext>Comment on attachment 206326
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:371
&gt;&gt;&gt; +    gst_buffer_map(m_buffer, &amp;srcInfo, GST_MAP_READ);
&gt;&gt; 
&gt;&gt; Would it make sense or have any benefit to use gst_video_frame_map/unmap?
&gt; 
&gt; I&apos;m wrong, the texture is not created here and passed to the caller, but fetched from the pool, so this is correct, sorry.

about using gst_frame_map/unmap, currently it doesn&apos;t bring any benefit, since the metadata is extracted from the caps using the method getVideoSizeAndFormatFromCaps(), delaying the map() operation until is truly needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908786</commentid>
    <comment_count>5</comment_count>
      <attachid>206326</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-16 03:15:50 -0700</bug_when>
    <thetext>Comment on attachment 206326
Patch

Clearing flags on attachment: 206326

Committed r152711: &lt;http://trac.webkit.org/changeset/152711&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908787</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-16 03:15:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206326</attachid>
            <date>2013-07-09 09:09:20 -0700</date>
            <delta_ts>2013-07-16 03:15:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118471-20130709180706.patch</filename>
            <type>text/plain</type>
            <size>9775</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM0NmFhNWZmODhlMzc3
YmFlNmFmYWMzOTU2NmU3Mjc0YzdhYTQ3NS4uMGY5NTc3ODkxNDgxZjlkMDYwNjZiNTAyOGZjNDhk
MzQwOTA5MTA4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA3LTA5ICBWw61j
dG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAg
W3RleG1hcF1bR1N0cmVhbWVyXSB1cGxvYWQgb250byB0aGUgdGV4dHVyZSBvbmx5IHRoZSBidWZm
ZXIgdG8gYmUgcGFpbnRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTE4NDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmlnaHQgbm93IGFsbCB0aGUgYnVmZmVycyBhcmUgdXBsb2FkZWQgb250byB0aGUg
dGV4dHVyZS4gV2l0aCB0aGlzCisgICAgICAgIGxvZ2ljIHBvc2Ugc2l0dWF0aW9ucyB3aGVyZSBi
dWZmZXJzIHRoYXQgd2lsbCBub3QgYmUgcGFpbnRlZCBhcmUKKyAgICAgICAgdXBsb2FkZWQuCisK
KyAgICAgICAgVGhpcyBwYXRjaCB1cGxvYWRzIG9ubHkgdGhlIGJ1ZmZlcnMgdGhhdCBhcmUgZ29p
bmcgdG8gYmUgc2hvd24uCisKKyAgICAgICAgV2l0aCB0aGlzIGFwcHJvYWNoLCB0aGUgYnVmZmVy
cyBtYXkgYXJyaXZlIGJlZm9yZSBhIEdyYXBoaWNzTGF5ZXIgaXMKKyAgICAgICAgc2V0LCBzbyB3
ZSBzaG91bGQgYmUgbW9yZSBjYXV0aW91cyB3aXRoIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVy
J3MKKyAgICAgICAgY2xpZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBl
eGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6dXBkYXRlVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpwYWludFRvVGV4dHVyZU1hcHBlcik6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NM
YXllclRleHR1cmVNYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclRl
eHR1cmVNYXBwZXI6On5HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcjo6c2V0Q29udGVudHNUb01lZGlhKToKKwog
MjAxMy0wNy0wOCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0NTUyBHcmlkIExheW91dF0gUmVuYW1lIGdyaWQte3Jvd3N8Y29sdW1uc30gdG8gZ3Jp
ZC1kZWZpbml0aW9uLXtyb3dzfGNvbHVtbnN9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5kZXggNmIzMmFiZjNhMmVkNjUzMGQ5NjI1
ZjQzN2YxYTZjNDJiZWVhMmQ5Yi4uMmEwMmFmYmFiM2ZjZWQwYzIwZjM4OTlmODM1YzUxNDZjODRi
N2Q3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlLmNwcApAQCAtMTE1LDkgKzExNSw2IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2U6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UoTWVkaWFQbGF5ZXIqIHBsCiAg
ICAgLCBtX3JlcGFpbnRIYW5kbGVyKDApCiAgICAgLCBtX3ZvbHVtZVNpZ25hbEhhbmRsZXIoMCkK
ICAgICAsIG1fbXV0ZVNpZ25hbEhhbmRsZXIoMCkKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpICYmIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYgIVVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKLSAgICAsIG1fdGV4dHVyZSgwKQotI2VuZGlmCiB7CiAjaWYgR0xJQl9DSEVDS19WRVJT
SU9OKDIsIDMxLCAwKQogICAgIG1fYnVmZmVyTXV0ZXggPSBXVEY6OmZhc3ROZXc8R011dGV4Pigp
OwpAQCAtMzI1LDQyICszMjIsNDUgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlOjptdXRlQ2hhbmdlZCgpCiAKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykg
JiYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiAhVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQot
dm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp1cGRhdGVUZXh0dXJlKEdzdEJ1
ZmZlciogYnVmZmVyKQorUGFzc1JlZlB0cjxCaXRtYXBUZXh0dXJlPiBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjp1cGRhdGVUZXh0dXJlKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBw
ZXIpCiB7Ci0gICAgaWYgKCFtX3RleHR1cmUpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICgh
Y2xpZW50KCkpCi0gICAgICAgIHJldHVybjsKKyAgICBnX211dGV4X2xvY2sobV9idWZmZXJNdXRl
eCk7CisgICAgaWYgKCFtX2J1ZmZlcikgeworICAgICAgICBnX211dGV4X3VubG9jayhtX2J1ZmZl
ck11dGV4KTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgY29uc3Qgdm9pZCogc3Jj
RGF0YSA9IDA7CiAjaWZkZWYgR1NUX0FQSV9WRVJTSU9OXzEKICAgICBHUmVmUHRyPEdzdENhcHM+
IGNhcHMgPSBjdXJyZW50VmlkZW9TaW5rQ2FwcygpOwogI2Vsc2UKLSAgICBHUmVmUHRyPEdzdENh
cHM+IGNhcHMgPSBHU1RfQlVGRkVSX0NBUFMoYnVmZmVyKTsKKyAgICBHUmVmUHRyPEdzdENhcHM+
IGNhcHMgPSBHU1RfQlVGRkVSX0NBUFMobV9idWZmZXIpOwogI2VuZGlmCi0gICAgaWYgKCFjYXBz
KQotICAgICAgICByZXR1cm47CisgICAgaWYgKCFjYXBzKSB7CisgICAgICAgIGdfbXV0ZXhfdW5s
b2NrKG1fYnVmZmVyTXV0ZXgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAKICAgICBJbnRT
aXplIHNpemU7CiAgICAgR3N0VmlkZW9Gb3JtYXQgZm9ybWF0OwogICAgIGludCBwaXhlbEFzcGVj
dFJhdGlvTnVtZXJhdG9yLCBwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IsIHN0cmlkZTsKLSAg
ICBpZiAoIWdldFZpZGVvU2l6ZUFuZEZvcm1hdEZyb21DYXBzKGNhcHMuZ2V0KCksIHNpemUsIGZv
cm1hdCwgcGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvciwgcGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5h
dG9yLCBzdHJpZGUpKQotICAgICAgICByZXR1cm47CisgICAgaWYgKCFnZXRWaWRlb1NpemVBbmRG
b3JtYXRGcm9tQ2FwcyhjYXBzLmdldCgpLCBzaXplLCBmb3JtYXQsIHBpeGVsQXNwZWN0UmF0aW9O
dW1lcmF0b3IsIHBpeGVsQXNwZWN0UmF0aW9EZW5vbWluYXRvciwgc3RyaWRlKSkgeworICAgICAg
ICBnX211dGV4X3VubG9jayhtX2J1ZmZlck11dGV4KTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQogCi0gICAgaWYgKG1fdGV4dHVyZS0+c2l6ZSgpICE9IHNpemUpCi0gICAgICAgIG1fdGV4dHVy
ZS0+cmVzZXQoc2l6ZSk7CisgICAgUmVmUHRyPEJpdG1hcFRleHR1cmU+IHRleHR1cmUgPSB0ZXh0
dXJlTWFwcGVyLT5hY3F1aXJlVGV4dHVyZUZyb21Qb29sKHNpemUpOwogCiAjaWYgR1NUX0NIRUNL
X1ZFUlNJT04oMSwgMSwgMCkKICAgICBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEqIG1ldGE7
Ci0gICAgaWYgKChtZXRhID0gZ3N0X2J1ZmZlcl9nZXRfdmlkZW9fZ2xfdGV4dHVyZV91cGxvYWRf
bWV0YShidWZmZXIpKSkgeworICAgIGlmICgobWV0YSA9IGdzdF9idWZmZXJfZ2V0X3ZpZGVvX2ds
X3RleHR1cmVfdXBsb2FkX21ldGEobV9idWZmZXIpKSkgewogICAgICAgICBpZiAobWV0YS0+bl90
ZXh0dXJlcyA9PSAxKSB7IC8vIEJSR3ggJiBCR1JBIGZvcm1hdHMgdXNlIG9ubHkgb25lIHRleHR1
cmUuCi0gICAgICAgICAgICBjb25zdCBCaXRtYXBUZXh0dXJlR0wqIHRleHR1cmVHTCA9IHN0YXRp
Y19jYXN0PGNvbnN0IEJpdG1hcFRleHR1cmVHTCo+KG1fdGV4dHVyZS5nZXQoKSk7CisgICAgICAg
ICAgICBjb25zdCBCaXRtYXBUZXh0dXJlR0wqIHRleHR1cmVHTCA9IHN0YXRpY19jYXN0PGNvbnN0
IEJpdG1hcFRleHR1cmVHTCo+KHRleHR1cmUuZ2V0KCkpOwogICAgICAgICAgICAgZ3VpbnQgaWRz
WzRdID0geyB0ZXh0dXJlR0wtPmlkKCksIDAsIDAsIDAgfTsKIAogICAgICAgICAgICAgaWYgKGdz
dF92aWRlb19nbF90ZXh0dXJlX3VwbG9hZF9tZXRhX3VwbG9hZChtZXRhLCBpZHMpKSB7Ci0gICAg
ICAgICAgICAgICAgY2xpZW50KCktPnNldFBsYXRmb3JtTGF5ZXJOZWVkc0Rpc3BsYXkoKTsKLSAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgZ19tdXRleF91bmxvY2sobV9i
dWZmZXJNdXRleCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRleHR1cmU7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CkBAIC0zNjgsMTkgKzM2OCwyMCBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnVwZGF0ZVRleHR1cmUoR3N0QnVmZmVyKiBidWZmZXIp
CiAKICNpZmRlZiBHU1RfQVBJX1ZFUlNJT05fMQogICAgIEdzdE1hcEluZm8gc3JjSW5mbzsKLSAg
ICBnc3RfYnVmZmVyX21hcChidWZmZXIsICZzcmNJbmZvLCBHU1RfTUFQX1JFQUQpOworICAgIGdz
dF9idWZmZXJfbWFwKG1fYnVmZmVyLCAmc3JjSW5mbywgR1NUX01BUF9SRUFEKTsKICAgICBzcmNE
YXRhID0gc3JjSW5mby5kYXRhOwogI2Vsc2UKLSAgICBzcmNEYXRhID0gR1NUX0JVRkZFUl9EQVRB
KGJ1ZmZlcik7CisgICAgc3JjRGF0YSA9IEdTVF9CVUZGRVJfREFUQShtX2J1ZmZlcik7CiAjZW5k
aWYKIAotICAgIG1fdGV4dHVyZS0+dXBkYXRlQ29udGVudHMoc3JjRGF0YSwgV2ViQ29yZTo6SW50
UmVjdChXZWJDb3JlOjpJbnRQb2ludCgwLCAwKSwgc2l6ZSksIFdlYkNvcmU6OkludFBvaW50KDAs
IDApLCBzdHJpZGUsIEJpdG1hcFRleHR1cmU6OlVwZGF0ZUNhbm5vdE1vZGlmeU9yaWdpbmFsSW1h
Z2VEYXRhKTsKKyAgICB0ZXh0dXJlLT51cGRhdGVDb250ZW50cyhzcmNEYXRhLCBXZWJDb3JlOjpJ
bnRSZWN0KFdlYkNvcmU6OkludFBvaW50KDAsIDApLCBzaXplKSwgV2ViQ29yZTo6SW50UG9pbnQo
MCwgMCksIHN0cmlkZSwgQml0bWFwVGV4dHVyZTo6VXBkYXRlQ2Fubm90TW9kaWZ5T3JpZ2luYWxJ
bWFnZURhdGEpOwogCiAjaWZkZWYgR1NUX0FQSV9WRVJTSU9OXzEKLSAgICBnc3RfYnVmZmVyX3Vu
bWFwKGJ1ZmZlciwgJnNyY0luZm8pOworICAgIGdzdF9idWZmZXJfdW5tYXAobV9idWZmZXIsICZz
cmNJbmZvKTsKICNlbmRpZgogCi0gICAgY2xpZW50KCktPnNldFBsYXRmb3JtTGF5ZXJOZWVkc0Rp
c3BsYXkoKTsKKyAgICBnX211dGV4X3VubG9jayhtX2J1ZmZlck11dGV4KTsKKyAgICByZXR1cm4g
dGV4dHVyZTsKIH0KICNlbmRpZgogCkBAIC0zODgsMTcgKzM4OSwxOCBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdzdEJ1ZmZlciogYnVmZmVy
KQogewogICAgIGdfcmV0dXJuX2lmX2ZhaWwoR1NUX0lTX0JVRkZFUihidWZmZXIpKTsKIAorICAg
IGdfbXV0ZXhfbG9jayhtX2J1ZmZlck11dGV4KTsKKyAgICBnc3RfYnVmZmVyX3JlcGxhY2UoJm1f
YnVmZmVyLCBidWZmZXIpOworICAgIGdfbXV0ZXhfdW5sb2NrKG1fYnVmZmVyTXV0ZXgpOworCiAj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wp
ICYmICFVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi0gICAgaWYgKHN1cHBvcnRzQWNjZWxlcmF0
ZWRSZW5kZXJpbmcoKSAmJiBtX3BsYXllci0+bWVkaWFQbGF5ZXJDbGllbnQoKS0+bWVkaWFQbGF5
ZXJSZW5kZXJpbmdDYW5CZUFjY2VsZXJhdGVkKG1fcGxheWVyKSkKLSAgICAgICAgdXBkYXRlVGV4
dHVyZShidWZmZXIpOwotICAgIGVsc2UKLSNlbmRpZgotICAgIHsKLSAgICAgICAgZ19tdXRleF9s
b2NrKG1fYnVmZmVyTXV0ZXgpOwotICAgICAgICBnc3RfYnVmZmVyX3JlcGxhY2UoJm1fYnVmZmVy
LCBidWZmZXIpOwotICAgICAgICBnX211dGV4X3VubG9jayhtX2J1ZmZlck11dGV4KTsKLSAgICAg
ICAgbV9wbGF5ZXItPnJlcGFpbnQoKTsKKyAgICBpZiAoc3VwcG9ydHNBY2NlbGVyYXRlZFJlbmRl
cmluZygpICYmIG1fcGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBsYXllclJlbmRl
cmluZ0NhbkJlQWNjZWxlcmF0ZWQobV9wbGF5ZXIpICYmIGNsaWVudCgpKSB7CisgICAgICAgIGNs
aWVudCgpLT5zZXRQbGF0Zm9ybUxheWVyTmVlZHNEaXNwbGF5KCk7CisgICAgICAgIHJldHVybjsK
ICAgICB9CisjZW5kaWYKKworICAgIG1fcGxheWVyLT5yZXBhaW50KCk7CiB9CiAKIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0U2l6ZShjb25zdCBJbnRTaXplJiBzaXpl
KQpAQCAtNDA5LDcgKzQxMSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6c2V0U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJl
Y3QmIHJlY3QpCiB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBVU0UoVEVY
VFVSRV9NQVBQRVJfR0wpICYmICFVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi0gICAgaWYgKG1f
dGV4dHVyZSkKKyAgICBpZiAoY2xpZW50KCkpCiAgICAgICAgIHJldHVybjsKICNlbmRpZgogCkBA
IC00NTUsMTIgKzQ1Nyw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6
cGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciogdGV4dHVyCiAgICAgaWYgKCFtX3Bs
YXllci0+dmlzaWJsZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIW1fdGV4dHVyZSkg
ewotICAgICAgICBtX3RleHR1cmUgPSB0ZXh0dXJlTWFwcGVyLT5hY3F1aXJlVGV4dHVyZUZyb21Q
b29sKG5hdHVyYWxTaXplKCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdGV4dHVy
ZU1hcHBlci0+ZHJhd1RleHR1cmUoKm1fdGV4dHVyZS5nZXQoKSwgdGFyZ2V0UmVjdCwgbWF0cml4
LCBvcGFjaXR5KTsKKyAgICBSZWZQdHI8Qml0bWFwVGV4dHVyZT4gdGV4dHVyZSA9IHVwZGF0ZVRl
eHR1cmUodGV4dHVyZU1hcHBlcik7CisgICAgaWYgKHRleHR1cmUpCisgICAgICAgIHRleHR1cmVN
YXBwZXItPmRyYXdUZXh0dXJlKCp0ZXh0dXJlLmdldCgpLCB0YXJnZXRSZWN0LCBtYXRyaXgsIG9w
YWNpdHkpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZS5oCmluZGV4IDI1Mjk0Njk3NmRhYTlkZTk5NGU1NGEzOThiOWM3YmFk
OWJkMDUwNmQuLjAwOGI5MjFkZjcyYTNiOTY2NTkyNzM2N2ZjMTI0MTM3MTlkYjk2YzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaApAQCAt
MTM3LDggKzEzNyw3IEBAIHByb3RlY3RlZDoKICAgICB1bnNpZ25lZCBsb25nIG1fbXV0ZVNpZ25h
bEhhbmRsZXI7CiAgICAgbXV0YWJsZSBJbnRTaXplIG1fdmlkZW9TaXplOwogI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiAhVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQotICAgIHZvaWQgdXBkYXRlVGV4dHVyZShHc3RCdWZmZXIqKTsK
LSAgICBSZWZQdHI8Qml0bWFwVGV4dHVyZT4gbV90ZXh0dXJlOworICAgIFBhc3NSZWZQdHI8Qml0
bWFwVGV4dHVyZT4gdXBkYXRlVGV4dHVyZShUZXh0dXJlTWFwcGVyKik7CiAjZW5kaWYKIH07CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3Jh
cGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcAppbmRleCA1YWUzNWJh
NDRlY2E2OWRhYTY3NjZmOWJkMGY1MGExYzJiYmFmMzk1Li5iZmNhMGJmMTc0M2ZmMDI0ZmYzOWUy
ZTNkNmQ1MGFkODUyM2ZlNGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1h
cHBlci5jcHAKQEAgLTc3LDYgKzc3LDkgQEAgdm9pZCBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBl
cjo6c2V0TmFtZShjb25zdCBTdHJpbmcmIG5hbWUpCiAKIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFw
cGVyOjp+R3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIoKQogeworICAgIGlmIChtX2NvbnRlbnRz
TGF5ZXIpCisgICAgICAgIG1fY29udGVudHNMYXllci0+c2V0Q2xpZW50KDApOworCiAgICAgd2ls
bEJlRGVzdHJveWVkKCk7CiB9CiAKQEAgLTM4NCw5ICszODcsMTQgQEAgdm9pZCBHcmFwaGljc0xh
eWVyVGV4dHVyZU1hcHBlcjo6c2V0Q29udGVudHNUb01lZGlhKFRleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyKgogCiAgICAgR3JhcGhpY3NMYXllcjo6c2V0Q29udGVudHNUb01lZGlhKG1lZGlhKTsK
ICAgICBub3RpZnlDaGFuZ2UoQ29udGVudENoYW5nZSk7CisKKyAgICBpZiAobV9jb250ZW50c0xh
eWVyKQorICAgICAgICBtX2NvbnRlbnRzTGF5ZXItPnNldENsaWVudCgwKTsKKwogICAgIG1fY29u
dGVudHNMYXllciA9IG1lZGlhOwogCi0gICAgbV9jb250ZW50c0xheWVyLT5zZXRDbGllbnQodGhp
cyk7CisgICAgaWYgKG1fY29udGVudHNMYXllcikKKyAgICAgICAgbV9jb250ZW50c0xheWVyLT5z
ZXRDbGllbnQodGhpcyk7CiB9CiAKIHZvaWQgR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI6OnNl
dFNob3dEZWJ1Z0JvcmRlcihib29sIHNob3cpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>