<?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>146908</bug_id>
          
          <creation_ts>2015-07-13 11:29:34 -0700</creation_ts>
          <short_desc>Implement VideoTrackPrivateAVFObjC for MediaStreamPrivate</short_desc>
          <delta_ts>2015-08-04 15:14:15 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>146906</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Daiter">mdaiter</reporter>
          <assigned_to name="Matthew Daiter">mdaiter</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jonlee</cc>
    
    <cc>mdaiter</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1109146</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-13 11:29:34 -0700</bug_when>
    <thetext>Make sure we can implement platform-specific portions of the video streaming API for the browser media streams.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109147</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-13 11:30:53 -0700</bug_when>
    <thetext>&lt;rdar://problem/21796914&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109189</commentid>
    <comment_count>2</comment_count>
      <attachid>256717</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-13 13:15:45 -0700</bug_when>
    <thetext>Created attachment 256717
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110036</commentid>
    <comment_count>3</comment_count>
      <attachid>256717</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-16 17:48:55 -0700</bug_when>
    <thetext>Comment on attachment 256717
Patch

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

Looks good, but I don&apos;t like the potential null access. Let&apos;s make it a reference if we know it&apos;s always present; otherwise null check.

&gt; Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaStreamAVFObjC.mm:80
&gt; +    m_parent-&gt;activeStatusChanged();

Can m_parent be null? If it shouldn&apos;t be, we should take it as a reference in the constructor. Otherwise, we need to null-check here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110125</commentid>
    <comment_count>4</comment_count>
      <attachid>256717</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-07-17 07:47:09 -0700</bug_when>
    <thetext>Comment on attachment 256717
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaStreamAVFObjC.mm:66
&gt; +void VideoTrackPrivateMediaStreamAVFObjC::setAssetTrack(AVAssetTrack *track)
&gt; +{
&gt; +    m_impl = std::make_unique&lt;AVTrackPrivateAVFObjCImpl&gt;(track);
&gt; +    resetPropertiesFromTrack();
&gt; +}
&gt; +
&gt; +AVAssetTrack* VideoTrackPrivateMediaStreamAVFObjC::assetTrack() const
&gt; +{
&gt; +    return m_impl-&gt;assetTrack();
&gt; +}

Is it possible to have an AVAssetTrack now, or is this for the future? If the later, remove it for now and we can add it when it is needed.

&gt; Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaStreamAVFObjC.mm:86
&gt; +FloatSize VideoTrackPrivateMediaStreamAVFObjC::naturalSize() const
&gt; +{
&gt; +    return FloatSize([assetTrack() naturalSize]);
&gt; +}

What about the nature size of a media stream track that does not have an AVAssetTrack?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256717</attachid>
            <date>2015-07-13 13:15:45 -0700</date>
            <delta_ts>2015-07-16 17:48:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146908-20150713131442.patch</filename>
            <type>text/plain</type>
            <size>8236</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODI2ODRkOWE2Y2M0MjEy
OGMzYTE4NzkwNGVhYjQ0YjljYjViMzY5OS4uMmI3YzQwY2IzOTkzNDNiY2E2NzE4NzQ5ZGUxNTUz
ZDlkMjhmYzJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE1LTA3LTEzICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgogCisgICAgICAgIEltcGxlbWVudCBwbGF0
Zm9ybS1zcGVjaWZpYyBtZWRpYSBzdHJlYW0gdmlkZW8gdHJhY2tzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY5MDgKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzIxNzk2OTE0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9UcmFj
a1ByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUFW
Rk9iakMubW06IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9UcmFja1ByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakM6OlZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDKToKKyAg
ICAgICAgKFdlYkNvcmU6OlZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpyZXNl
dFByb3BlcnRpZXNGcm9tVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9UcmFja1ByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakM6OnNldEFzc2V0VHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6
VmlkZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmFzc2V0VHJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6VmlkZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnNlbGVjdGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpD
OjpzZXRTZWxlY3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1RyYWNrUHJpdmF0ZU1lZGlh
U3RyZWFtQVZGT2JqQzo6bmF0dXJhbFNpemUpOgorCisyMDE1LTA3LTEzICBNYXR0aGV3IERhaXRl
ciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCiAgICAgICAgIENoYW5nZSBNZWRpYVBsYXllciBNZWRp
YSBTdHJlYW0gbWV0aG9kIHNpZ25hdHVyZXMgdG8gdXNlIHJlZmVyZW5jZXMKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjgzOQogICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjE3NjkwMzU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvVmlkZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
NWYzNWRjNDFjMGMyMjQ2NTY5ZjgzYWRkM2MzOGYxZTdmYmYyNjBlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlk
ZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaApAQCAtMCwwICsxLDc5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWaWRlb1Ry
YWNrUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQ19oCisjZGVmaW5lIFZpZGVvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDX2gKKworI2luY2x1ZGUgIkludFNpemUuaCIKKyNpbmNsdWRlICJN
ZWRpYVN0cmVhbVByaXZhdGUuaCIKKyNpbmNsdWRlICJWaWRlb1RyYWNrUHJpdmF0ZUFWRi5oIgor
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgRU5BQkxFKFZJREVPX1RSQUNLKQorCitPQkpD
X0NMQVNTIEFWQXNzZXRUcmFjazsKK09CSkNfQ0xBU1MgQVZQbGF5ZXJJdGVtVHJhY2s7CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbDsKK2Ns
YXNzIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOworCitjbGFzcyBWaWRlb1RyYWNrUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQyBmaW5hbCA6IHB1YmxpYyBWaWRlb1RyYWNrUHJpdmF0ZUFWRiwg
cHVibGljIE1lZGlhU3RyZWFtUHJpdmF0ZSwgcHVibGljIFJlZkNvdW50ZWQ8VmlkZW9UcmFja1By
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakM+IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaWRl
b1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQykKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
UHRyPFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDPiBjcmVhdGUoQVZBc3NldFRy
YWNrKiB0cmFjaywgTWVkaWFTdHJlYW1Qcml2YXRlQ2xpZW50KiBwYXJlbnQpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDKHRyYWNrLCBwYXJlbnQpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0ZWQo
KSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0ZWQoYm9vbCkgb3Zl
cnJpZGU7CisKKyAgICB2b2lkIHNldEFzc2V0VHJhY2soQVZBc3NldFRyYWNrKik7CisgICAgQVZB
c3NldFRyYWNrKiBhc3NldFRyYWNrKCkgY29uc3Q7CisKKyAgICBpbnQgdHJhY2tJRCgpIHsgcmV0
dXJuIG1fdHJhY2tJRDsgfQorCisgICAgRmxvYXRTaXplIG5hdHVyYWxTaXplKCkgY29uc3Q7CisK
KyAgICB1c2luZyBSZWZDb3VudGVkPFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpD
Pjo6b3BlcmF0b3IgbmV3OworICAgIHVzaW5nIFJlZkNvdW50ZWQ8VmlkZW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbUFWRk9iakM+OjpvcGVyYXRvciBkZWxldGU7CisKK3ByaXZhdGU6CisgICAgZXhw
bGljaXQgVmlkZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMoQVZBc3NldFRyYWNrKiwg
TWVkaWFTdHJlYW1Qcml2YXRlQ2xpZW50KiBwYXJlbnQpOworCisgICAgdm9pZCByZXNldFByb3Bl
cnRpZXNGcm9tVHJhY2soKTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxBVlRyYWNrUHJpdmF0ZUFW
Rk9iakNJbXBsPiBtX2ltcGw7CisgICAgTWVkaWFTdHJlYW1Qcml2YXRlQ2xpZW50KiBtX3BhcmVu
dDsKKyAgICBpbnQgbV90cmFja0lEOworICAgIGJvb2wgbV9zZWxlY3RlZDsKK307CisgICAgCit9
CisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBFTkFCTEUoVklERU9fVFJBQ0sp
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvVmlkZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRl
b1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41M2ViNzA3YjI2
Y2NkNGMyNjgxZTdjNzgyYzEyODRmMmNlN2IzMDY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9UcmFja1By
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2lt
cG9ydCAiVmlkZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCIKKworI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pICYmIEVOQUJMRShWSURFT19UUkFDSykKKworI2ltcG9ydCAiQVZUcmFj
a1ByaXZhdGVBVkZPYmpDSW1wbC5oIgorI2ltcG9ydCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akMuaCIKKyNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkFzc2V0VHJhY2suaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitWaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6VmlkZW9U
cmFja1ByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMoQVZBc3NldFRyYWNrKiB0cmFjaywgTWVkaWFT
dHJlYW1Qcml2YXRlQ2xpZW50KiBwYXJlbnQpCisgICAgOiBtX2ltcGwoc3RkOjptYWtlX3VuaXF1
ZTxBVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsPih0cmFjaykpCisgICAgLCBtX3BhcmVudChwYXJl
bnQpCisgICAgLCBtX3RyYWNrSUQoLTEpCisgICAgLCBtX3NlbGVjdGVkKGZhbHNlKQoreworICAg
IHJlc2V0UHJvcGVydGllc0Zyb21UcmFjaygpOworfQorCit2b2lkIFZpZGVvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDOjpyZXNldFByb3BlcnRpZXNGcm9tVHJhY2soKQoreworICAgIG1f
dHJhY2tJRCA9IG1faW1wbC0+dHJhY2tJRCgpOworCisgICAgc2V0VHJhY2tJbmRleChtX2ltcGwt
PmluZGV4KCkpOworICAgIHNldEtpbmQobV9pbXBsLT52aWRlb0tpbmQoKSk7CisgICAgc2V0SWQo
bV9pbXBsLT5pZCgpKTsKKyAgICBzZXRMYWJlbChtX2ltcGwtPmxhYmVsKCkpOworICAgIHNldExh
bmd1YWdlKG1faW1wbC0+bGFuZ3VhZ2UoKSk7Cit9CisKK3ZvaWQgVmlkZW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbUFWRk9iakM6OnNldEFzc2V0VHJhY2soQVZBc3NldFRyYWNrICp0cmFjaykKK3sK
KyAgICBtX2ltcGwgPSBzdGQ6Om1ha2VfdW5pcXVlPEFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGw+
KHRyYWNrKTsKKyAgICByZXNldFByb3BlcnRpZXNGcm9tVHJhY2soKTsKK30KKworQVZBc3NldFRy
YWNrKiBWaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6YXNzZXRUcmFjaygpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1faW1wbC0+YXNzZXRUcmFjaygpOworfQorCisKK2Jvb2wgVmlk
ZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnNlbGVjdGVkKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9zZWxlY3RlZDsKK30KKwordm9pZCBWaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQzo6c2V0U2VsZWN0ZWQoYm9vbCBzZWxlY3RlZCkKK3sKKyAgICBpZiAobV9zZWxl
Y3RlZCA9PSBzZWxlY3RlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zZWxlY3RlZCA9IHNl
bGVjdGVkOworICAgIG1fcGFyZW50LT5hY3RpdmVTdGF0dXNDaGFuZ2VkKCk7Cit9CisgICAgCitG
bG9hdFNpemUgVmlkZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6Om5hdHVyYWxTaXpl
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gRmxvYXRTaXplKFthc3NldFRyYWNrKCkgbmF0dXJhbFNp
emVdKTsKK30KKyAgICAKK30KKworI2VuZGlmCg==
</data>
<flag name="review"
          id="281818"
          type_id="1"
          status="-"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>