<?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>162972</bug_id>
          
          <creation_ts>2016-10-05 08:56:34 -0700</creation_ts>
          <short_desc>[GStreamer][OWR] GL rendering support</short_desc>
          <delta_ts>2016-10-07 06:18:18 -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>adam.bergkvist</cc>
    
    <cc>alex</cc>
    
    <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>1236641</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-10-05 08:56:34 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236649</commentid>
    <comment_count>1</comment_count>
      <attachid>290711</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-10-05 09:06:57 -0700</bug_when>
    <thetext>Created attachment 290711
[OpenWebRTC][GStreamerGL] Fix video rendering

When GStreamer-GL is enabled the GL context needs to be properly passed
to the GStreamer pipeline running within the OpenWebRTC video renderer.
This is now supported using a new OpenWebRTC API that allows the
renderer to request the context from the application using a callback
registered within the renderer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236962</commentid>
    <comment_count>2</comment_count>
      <attachid>290711</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-06 01:57:21 -0700</bug_when>
    <thetext>Comment on attachment 290711
[OpenWebRTC][GStreamerGL] Fix video rendering

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:227
&gt; +    GstContext* context = requestGLContext(contextType, this);

Immediate adopt should be done here.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:361
&gt; +    owr_video_renderer_set_request_context_callback(OWR_VIDEO_RENDERER(m_videoRenderer.get()), (OwrVideoRendererRequestContextCallback) MediaPlayerPrivateGStreamerBase::requestGLContext, this, nullptr);

This should use a static_cast&lt;&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237095</commentid>
    <comment_count>3</comment_count>
      <attachid>290711</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-10-06 09:33:24 -0700</bug_when>
    <thetext>Comment on attachment 290711
[OpenWebRTC][GStreamerGL] Fix video rendering

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:361
&gt;&gt; +    owr_video_renderer_set_request_context_callback(OWR_VIDEO_RENDERER(m_videoRenderer.get()), (OwrVideoRendererRequestContextCallback) MediaPlayerPrivateGStreamerBase::requestGLContext, this, nullptr);
&gt; 
&gt; This should use a static_cast&lt;&gt;.

Doesn&apos;t build:

MediaPlayerPrivateGStreamerOwr.cpp:361:196: error: invalid static_cast from type ‘GstContext*(const gchar*, WebCore::MediaPlayerPrivateGStreamerBase*) {aka _GstContext*(const char*, WebCore::MediaPlayerPrivateGStreamerBase*)}’ to type ‘OwrVideoRendererRequestContextCallback {aka _GstContext* (*)(const char*, void*)}’
     owr_video_renderer_set_request_context_callback(OWR_VIDEO_RENDERER(m_videoRenderer.get()), static_cast&lt;OwrVideoRendererRequestContextCallback&gt;(MediaPlayerPrivateGStreamerBase::requestGLContext), this, nullptr);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237099</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-10-06 09:41:43 -0700</bug_when>
    <thetext>Committed r206866: &lt;http://trac.webkit.org/changeset/206866&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237577</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-07 06:18:18 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 290711 [details]
&gt; [OpenWebRTC][GStreamerGL] Fix video rendering
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=290711&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:361
&gt; &gt;&gt; +    owr_video_renderer_set_request_context_callback(OWR_VIDEO_RENDERER(m_videoRenderer.get()), (OwrVideoRendererRequestContextCallback) MediaPlayerPrivateGStreamerBase::requestGLContext, this, nullptr);
&gt; &gt; 
&gt; &gt; This should use a static_cast&lt;&gt;.
&gt; 
&gt; Doesn&apos;t build:
&gt; 
&gt; MediaPlayerPrivateGStreamerOwr.cpp:361:196: error: invalid static_cast from
&gt; type ‘GstContext*(const gchar*, WebCore::MediaPlayerPrivateGStreamerBase*)
&gt; {aka _GstContext*(const char*, WebCore::MediaPlayerPrivateGStreamerBase*)}’
&gt; to type ‘OwrVideoRendererRequestContextCallback {aka _GstContext* (*)(const
&gt; char*, void*)}’
&gt;     
&gt; owr_video_renderer_set_request_context_callback(OWR_VIDEO_RENDERER(m_videoRen
&gt; derer.get()),
&gt; static_cast&lt;OwrVideoRendererRequestContextCallback&gt;(MediaPlayerPrivateGStream
&gt; erBase::requestGLContext), this, nullptr);

:shrugemoji:</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290711</attachid>
            <date>2016-10-05 09:06:57 -0700</date>
            <delta_ts>2016-10-06 01:57:21 -0700</delta_ts>
            <desc>[OpenWebRTC][GStreamerGL] Fix video rendering</desc>
            <filename>OpenWebRTCGStreamerGL-Fix-video-rendering.patch</filename>
            <type>text/plain</type>
            <size>9135</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSBmNjU1YmE0MTAwZjIwN2VkZDFhYjQ2NjE1ZmU1MTFmNzdiODQ3ODc3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBXZWQsIDI4IFNlcCAyMDE2IDE1OjMwOjE4ICswMjAwClN1YmplY3Q6IFtQQVRDSF0g
W09wZW5XZWJSVENdW0dTdHJlYW1lckdMXSBGaXggdmlkZW8gcmVuZGVyaW5nCgpXaGVuIEdTdHJl
YW1lci1HTCBpcyBlbmFibGVkIHRoZSBHTCBjb250ZXh0IG5lZWRzIHRvIGJlIHByb3Blcmx5IHBh
c3NlZAp0byB0aGUgR1N0cmVhbWVyIHBpcGVsaW5lIHJ1bm5pbmcgd2l0aGluIHRoZSBPcGVuV2Vi
UlRDIHZpZGVvIHJlbmRlcmVyLgpUaGlzIGlzIG5vdyBzdXBwb3J0ZWQgdXNpbmcgYSBuZXcgT3Bl
bldlYlJUQyBBUEkgdGhhdCBhbGxvd3MgdGhlCnJlbmRlcmVyIHRvIHJlcXVlc3QgdGhlIGNvbnRl
eHQgZnJvbSB0aGUgYXBwbGljYXRpb24gdXNpbmcgYSBjYWxsYmFjawpyZWdpc3RlcmVkIHdpdGhp
biB0aGUgcmVuZGVyZXIuCi0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAyNiArKysrKysrKysrKysrKwogLi4uL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcCAgfCA0MSArKysrKysrKysrKysrKy0tLS0tLS0t
CiAuLi4vZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaCAgICB8ICAz
ICsrCiAuLi4vZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck93ci5jcHAgICB8
ICA1ICsrLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAxNyArKysrKysrKysKIFRvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwgNzcgaW5zZXJ0aW9ucygrKSwg
MTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY5ZGQxYjAuLjAzNTdkMTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyOSBAQAorMjAxNi0xMC0wNSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3Jt
YW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dTdHJlYW1lcl1bT1dSXSBHTCByZW5kZXJpbmcg
c3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTYyOTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2hlbiBHU3RyZWFtZXItR0wgaXMgZW5hYmxlZCB0aGUgR0wgY29udGV4dCBuZWVkcyB0byBiZSBw
cm9wZXJseSBwYXNzZWQKKyAgICAgICAgdG8gdGhlIEdTdHJlYW1lciBwaXBlbGluZSBydW5uaW5n
IHdpdGhpbiB0aGUgT3BlbldlYlJUQyB2aWRlbyByZW5kZXJlci4KKyAgICAgICAgVGhpcyBpcyBu
b3cgc3VwcG9ydGVkIHVzaW5nIGEgbmV3IE9wZW5XZWJSVEMgQVBJIHRoYXQgYWxsb3dzIHRoZQor
ICAgICAgICByZW5kZXJlciB0byByZXF1ZXN0IHRoZSBjb250ZXh0IGZyb20gdGhlIGFwcGxpY2F0
aW9uIHVzaW5nIGEgY2FsbGJhY2sKKyAgICAgICAgcmVnaXN0ZXJlZCB3aXRoaW4gdGhlIHJlbmRl
cmVyLgorCisgICAgICAgIFRoZSBwbGF5ZXIncyBHTCBjb250ZXh0L2Rpc3BsYXkgc2V0LXVwIHdh
cyByZWZhY3RvcmVkIHRvIGEgbmV3CisgICAgICAgIG1ldGhvZCwgcmVxdWVzdEdMQ29udGV4dCwg
d2hpY2ggaXMgdXNlZCBhcyBjYWxsYmFjayBmb3IgdGhlCisgICAgICAgIE9wZW5XZWJSVEMgcmVx
dWVzdF9jb250ZXh0IGhhbmRsZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2FnZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpyZXF1
ZXN0R0xDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Z3N0R0xDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmdzdEdMRGlzcGxheSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lck93ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJPd3I6OmNyZWF0ZVZpZGVvU2luayk6CisKIDIwMTYtMTAtMDUgIERhbmllbCBCYXRlcyAgPGRh
YmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIERvIG5vdCBmb2xsb3cgcmVkaXJlY3RzIHdoZW4g
c2VuZGluZyB2aW9sYXRpb24gcmVwb3J0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5kZXggYjJmZWRiMC4uYjJhMjI2NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApA
QCAtMjI0LDIzICsyMjQsMTMgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
OjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQogICAgIGNvbnN0IGdjaGFy
KiBjb250ZXh0VHlwZTsKICAgICBnc3RfbWVzc2FnZV9wYXJzZV9jb250ZXh0X3R5cGUobWVzc2Fn
ZSwgJmNvbnRleHRUeXBlKTsKIAotICAgIGlmICghZW5zdXJlR3N0R0xDb250ZXh0KCkpCisgICAg
R3N0Q29udGV4dCogY29udGV4dCA9IHJlcXVlc3RHTENvbnRleHQoY29udGV4dFR5cGUsIHRoaXMp
OworICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKCFn
X3N0cmNtcDAoY29udGV4dFR5cGUsIEdTVF9HTF9ESVNQTEFZX0NPTlRFWFRfVFlQRSkpIHsKLSAg
ICAgICAgR1JlZlB0cjxHc3RDb250ZXh0PiBkaXNwbGF5Q29udGV4dCA9IGFkb3B0R1JlZihnc3Rf
Y29udGV4dF9uZXcoR1NUX0dMX0RJU1BMQVlfQ09OVEVYVF9UWVBFLCBUUlVFKSk7Ci0gICAgICAg
IGdzdF9jb250ZXh0X3NldF9nbF9kaXNwbGF5KGRpc3BsYXlDb250ZXh0LmdldCgpLCBtX2dsRGlz
cGxheS5nZXQoKSk7Ci0gICAgICAgIGdzdF9lbGVtZW50X3NldF9jb250ZXh0KEdTVF9FTEVNRU5U
KG1lc3NhZ2UtPnNyYyksIGRpc3BsYXlDb250ZXh0LmdldCgpKTsKLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgfQotCi0gICAgaWYgKCFnX3N0cmNtcDAoY29udGV4dFR5cGUsICJnc3QuZ2wuYXBw
X2NvbnRleHQiKSkgewotICAgICAgICBHUmVmUHRyPEdzdENvbnRleHQ+IGFwcENvbnRleHQgPSBh
ZG9wdEdSZWYoZ3N0X2NvbnRleHRfbmV3KCJnc3QuZ2wuYXBwX2NvbnRleHQiLCBUUlVFKSk7Ci0g
ICAgICAgIEdzdFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ3N0X2NvbnRleHRfd3JpdGFibGVfc3Ry
dWN0dXJlKGFwcENvbnRleHQuZ2V0KCkpOwotICAgICAgICBnc3Rfc3RydWN0dXJlX3NldChzdHJ1
Y3R1cmUsICJjb250ZXh0IiwgR1NUX0dMX1RZUEVfQ09OVEVYVCwgbV9nbENvbnRleHQuZ2V0KCks
IG51bGxwdHIpOwotICAgICAgICBnc3RfZWxlbWVudF9zZXRfY29udGV4dChHU1RfRUxFTUVOVCht
ZXNzYWdlLT5zcmMpLCBhcHBDb250ZXh0LmdldCgpKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQorICAgIEdSZWZQdHI8R3N0Q29udGV4dD4gZWxlbWVudENvbnRleHQgPSBhZG9wdEdSZWYo
Y29udGV4dCk7CisgICAgZ3N0X2VsZW1lbnRfc2V0X2NvbnRleHQoR1NUX0VMRU1FTlQobWVzc2Fn
ZS0+c3JjKSwgZWxlbWVudENvbnRleHQuZ2V0KCkpOworICAgIHJldHVybiB0cnVlOwogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0obWVzc2FnZSk7CiAjZW5kaWYgLy8gVVNFKEdTVFJFQU1FUl9HTCkK
QEAgLTI0OSw2ICsyMzksMjcgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
OjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQogfQogCiAjaWYgVVNFKEdT
VFJFQU1FUl9HTCkKK0dzdENvbnRleHQqIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6
OnJlcXVlc3RHTENvbnRleHQoY29uc3QgZ2NoYXIqIGNvbnRleHRUeXBlLCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlKiBwbGF5ZXIpCit7CisgICAgaWYgKCFwbGF5ZXItPmVuc3VyZUdz
dEdMQ29udGV4dCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmICghZ19zdHJj
bXAwKGNvbnRleHRUeXBlLCBHU1RfR0xfRElTUExBWV9DT05URVhUX1RZUEUpKSB7CisgICAgICAg
IEdzdENvbnRleHQqIGRpc3BsYXlDb250ZXh0ID0gZ3N0X2NvbnRleHRfbmV3KEdTVF9HTF9ESVNQ
TEFZX0NPTlRFWFRfVFlQRSwgVFJVRSk7CisgICAgICAgIGdzdF9jb250ZXh0X3NldF9nbF9kaXNw
bGF5KGRpc3BsYXlDb250ZXh0LCBwbGF5ZXItPmdzdEdMRGlzcGxheSgpKTsKKyAgICAgICAgcmV0
dXJuIGRpc3BsYXlDb250ZXh0OworICAgIH0KKworICAgIGlmICghZ19zdHJjbXAwKGNvbnRleHRU
eXBlLCAiZ3N0LmdsLmFwcF9jb250ZXh0IikpIHsKKyAgICAgICAgR3N0Q29udGV4dCogYXBwQ29u
dGV4dCA9IGdzdF9jb250ZXh0X25ldygiZ3N0LmdsLmFwcF9jb250ZXh0IiwgVFJVRSk7CisgICAg
ICAgIEdzdFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ3N0X2NvbnRleHRfd3JpdGFibGVfc3RydWN0
dXJlKGFwcENvbnRleHQpOworICAgICAgICBnc3Rfc3RydWN0dXJlX3NldChzdHJ1Y3R1cmUsICJj
b250ZXh0IiwgR1NUX0dMX1RZUEVfQ09OVEVYVCwgcGxheWVyLT5nc3RHTENvbnRleHQoKSwgbnVs
bHB0cik7CisgICAgICAgIHJldHVybiBhcHBDb250ZXh0OworICAgIH0KKworICAgIHJldHVybiBu
dWxscHRyOworfQorCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmVuc3Vy
ZUdzdEdMQ29udGV4dCgpCiB7CiAgICAgaWYgKG1fZ2xDb250ZXh0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKaW5kZXggMzZiZDhhNS4uNzI0
NjRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZS5oCkBAIC02OSw2ICs2OSw3IEBAIHB1YmxpYzoKIAogI2lmIFVTRShHU1RSRUFNRVJfR0wp
CiAgICAgYm9vbCBlbnN1cmVHc3RHTENvbnRleHQoKTsKKyAgICBzdGF0aWMgR3N0Q29udGV4dCog
cmVxdWVzdEdMQ29udGV4dChjb25zdCBnY2hhciogY29udGV4dFR5cGUsIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2UqKTsKICNlbmRpZgogCiAgICAgYm9vbCBzdXBwb3J0c011dGluZygp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KQEAgLTEzNCw2ICsxMzUsOCBAQCBwcm90
ZWN0ZWQ6CiAgICAgR3N0RWxlbWVudCogY3JlYXRlVmlkZW9TaW5rR0woKTsKICAgICBHTENvbnRl
eHQqIHByZXBhcmVDb250ZXh0Rm9yQ2Fpcm9QYWludChHc3RWaWRlb0luZm8mLCBJbnRTaXplJiwg
SW50U2l6ZSYpOwogICAgIGJvb2wgcGFpbnRUb0NhaXJvU3VyZmFjZShjYWlyb19zdXJmYWNlX3Qq
LCBjYWlyb19kZXZpY2VfdCosIEdzdFZpZGVvSW5mbyYsIGNvbnN0IEludFNpemUmLCBjb25zdCBJ
bnRTaXplJiwgYm9vbCk7CisgICAgR3N0R0xDb250ZXh0KiBnc3RHTENvbnRleHQoKSBjb25zdCB7
IHJldHVybiBtX2dsQ29udGV4dC5nZXQoKTsgfQorICAgIEdzdEdMRGlzcGxheSogZ3N0R0xEaXNw
bGF5KCkgY29uc3QgeyByZXR1cm4gbV9nbERpc3BsYXkuZ2V0KCk7IH0KICNlbmRpZgogCiAgICAg
dm9pZCBzZXRTdHJlYW1Wb2x1bWVFbGVtZW50KEdzdFN0cmVhbVZvbHVtZSopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lck93ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyT3dyLmNwcAppbmRleCBkZWIw
ZmU1Li5mNGVmNDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyT3dyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyT3dyLmNwcApAQCAtMzU1LDggKzM1NSwxMSBAQCBHc3RFbGVtZW50KiBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJPd3I6OmNyZWF0ZVZpZGVvU2luaygpCiAgICAgR1JlZlB0cjxH
c3RQYWQ+IHBhZCA9IGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKGdsZG93bmxvYWQsICJzaW5r
Iik7CiAgICAgZ3N0X2VsZW1lbnRfYWRkX3BhZChzaW5rLCBnc3RfZ2hvc3RfcGFkX25ldygic2lu
ayIsIHBhZC5nZXQoKSkpOwogI2VuZGlmCi0gICAgbV92aWRlb1JlbmRlcmVyID0gYWRvcHRHUmVm
KG93cl9nc3RfdmlkZW9fcmVuZGVyZXJfbmV3KHNpbmspKTsKIAorICAgIG1fdmlkZW9SZW5kZXJl
ciA9IGFkb3B0R1JlZihvd3JfZ3N0X3ZpZGVvX3JlbmRlcmVyX25ldyhzaW5rKSk7CisjaWYgVVNF
KEdTVFJFQU1FUl9HTCkKKyAgICBvd3JfdmlkZW9fcmVuZGVyZXJfc2V0X3JlcXVlc3RfY29udGV4
dF9jYWxsYmFjayhPV1JfVklERU9fUkVOREVSRVIobV92aWRlb1JlbmRlcmVyLmdldCgpKSwgKE93
clZpZGVvUmVuZGVyZXJSZXF1ZXN0Q29udGV4dENhbGxiYWNrKSBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjpyZXF1ZXN0R0xDb250ZXh0LCB0aGlzLCBudWxscHRyKTsKKyNlbmRpZgog
ICAgIHJldHVybiBzaW5rOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggZmMzYjRkOS4uNDE4OTM0NSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTEwLTA1
ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0
cmVhbWVyXVtPV1JdIEdMIHJlbmRlcmluZyBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI5NzIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIEdTdHJlYW1lci1HTCBpcyBlbmFibGVkIHRo
ZSBHTCBjb250ZXh0IG5lZWRzIHRvIGJlIHByb3Blcmx5IHBhc3NlZAorICAgICAgICB0byB0aGUg
R1N0cmVhbWVyIHBpcGVsaW5lIHJ1bm5pbmcgd2l0aGluIHRoZSBPcGVuV2ViUlRDIHZpZGVvIHJl
bmRlcmVyLgorICAgICAgICBUaGlzIGlzIG5vdyBzdXBwb3J0ZWQgdXNpbmcgYSBuZXcgT3Blbldl
YlJUQyBBUEkgdGhhdCBhbGxvd3MgdGhlCisgICAgICAgIHJlbmRlcmVyIHRvIHJlcXVlc3QgdGhl
IGNvbnRleHQgZnJvbSB0aGUgYXBwbGljYXRpb24gdXNpbmcgYSBjYWxsYmFjaworICAgICAgICBy
ZWdpc3RlcmVkIHdpdGhpbiB0aGUgcmVuZGVyZXIuCisKKyAgICAgICAgKiBndGsvamhidWlsZC5t
b2R1bGVzOiBCdW1wIHRvIGxhdGVzdCBPcGVuV2ViUlRDIGZvciB0aGUgbmV3CisgICAgICAgIG93
cl92aWRlb19yZW5kZXJlcl9zZXRfcmVxdWVzdF9jb250ZXh0X2NhbGxiYWNrIEFQSSBhZGRlZAor
ICAgICAgICByZWNlbnRseS4KKwogMjAxNi0xMC0wNCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgW2lPU10gQ3Jhc2ggaW4gV2ViUmVzb3VyY2VMb2FkZXJRdWlja0xv
b2tEZWxlZ2F0ZSB3aGVuIHRoZSBjbGllbnQgY2FuY2VscyB0aGUgbmF2aWdhdGlvbiB0byBhIFF1
aWNrTG9vayByZXNvdXJjZQpkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcyBi
L1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKaW5kZXggN2I1MWFmMS4uNzUyNjFjMSAxMDA2NDQK
LS0tIGEvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcworKysgYi9Ub29scy9ndGsvamhidWlsZC5t
b2R1bGVzCkBAIC01MTQsNyArNTE0LDcgQEAKICAgICAgIDxkZXAgcGFja2FnZT0iZ3N0LXBsdWdp
bnMtb3BlbndlYnJ0YyIvPgogICAgICAgPGRlcCBwYWNrYWdlPSJsaWJuaWNlIi8+CiAgICAgIDwv
ZGVwZW5kZW5jaWVzPgotICAgIDxicmFuY2ggcmVwbz0iZ2l0aHViLmNvbSIgbW9kdWxlPSJFcmlj
c3NvblJlc2VhcmNoL29wZW53ZWJydGMuZ2l0IiBjaGVja291dGRpcj0ib3BlbndlYnJ0YyIgdGFn
PSJjOTk3YmZmMTRhOTM4OTU4MmJjMTA3ZTJhZWE3Y2U3N2ZiNzAwZWQ5Ii8+CisgICAgPGJyYW5j
aCByZXBvPSJnaXRodWIuY29tIiBtb2R1bGU9IkVyaWNzc29uUmVzZWFyY2gvb3BlbndlYnJ0Yy5n
aXQiIGNoZWNrb3V0ZGlyPSJvcGVud2VicnRjIiB0YWc9IjBiMjhiMDgwZDYxYWYzYWRiMWY3Nzll
NjkzZmMwMjlmOWMxYWQ0OTkiLz4KICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0i
bGx2bSIKLS0gCjIuOS4z
</data>
<flag name="review"
          id="313879"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>