<?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>29133</bug_id>
          
          <creation_ts>2009-09-10 11:17:51 -0700</creation_ts>
          <short_desc>Allow the platform media player to know the &lt;video&gt; poster URL.</short_desc>
          <delta_ts>2009-10-06 04:35:24 -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>PC</rep_platform>
          <op_sys>Other</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>0</everconfirmed>
          <reporter name="Andrei Popescu">andreip</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benm</cc>
    
    <cc>eric.carlson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>146262</commentid>
    <comment_count>0</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2009-09-10 11:17:51 -0700</bug_when>
    <thetext>On Android the media player cannot currently generate a thumbail/poster based on the frames in the video. However, if the user has specified a poster for the video, the player can use that instead. Right now, there is now way for the player to know the URL for the poster. This can be fixed by adding a &apos;setPoster(const String&amp; url)&apos; method on MediaPlayer. Will provide a patch shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146265</commentid>
    <comment_count>1</comment_count>
      <attachid>39360</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2009-09-10 11:27:01 -0700</bug_when>
    <thetext>Created attachment 39360
Add setPoster() &amp; canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146314</commentid>
    <comment_count>2</comment_count>
      <attachid>39360</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-10 13:29:04 -0700</bug_when>
    <thetext>Comment on attachment 39360
Add setPoster() &amp; canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface.

Does this have any affect on anything besides andriod?  Do other &lt;video&gt; implementations use the poster image?  Why does android need it?  And why can&apos;t we test this?  the OOPS! in your ChangeLog will cause this to fail to land.  The reviewed by line OOPS is OK, because our landing scripts will take care of fixing that one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146328</commentid>
    <comment_count>3</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2009-09-10 14:06:01 -0700</bug_when>
    <thetext>Hi Eric,

(In reply to comment #2)
&gt; (From update of attachment 39360 [details])
&gt; Does this have any affect on anything besides andriod?  

Currently not, since Android is the only platform that currently returns true for canLoadPoster(). However, I expect that other mobile platforms may have the same problem and may need this.

&gt;Do other &lt;video&gt;
&gt; implementations use the poster image?  

Yes, all of them. It is part of the spec.

&gt;Why does android need it?  

The problems is as follows: currently the HTMLVideoElement creates a RenderImage and loads the poster. This poster is shown on the page (where the video should render) until the media player has buffered enough content and is able to generate a thumbnail based on the first few frames of the video. 

However, this doesn&apos;t work for our player, which cannot currently generate such a thumbnail. On the other hand, if the user has specified the &quot;poster&quot; attribute, our player can just show the user-provided poster instead. In order to use it, it needs to know its URL. Hence this change.

&gt;And why can&apos;t
&gt; we test this?  

I wasn&apos;t entirely sure how to test this. As I said above, we&apos;re the only platform that returns &apos;true&apos; in canLoadPoster() so all other platforms are currently unaffected by this change...Do you have a suggestion?


&gt;the OOPS! in your ChangeLog will cause this to fail to land.

Oh, I did not know. I will just remove it if we agree what to do about testing.

Thanks,
Andrei</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146518</commentid>
    <comment_count>4</comment_count>
      <attachid>39421</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2009-09-11 04:08:59 -0700</bug_when>
    <thetext>Created attachment 39421
Add setPoster() &amp; canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface. (take 2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146612</commentid>
    <comment_count>5</comment_count>
      <attachid>39421</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-09-11 09:43:06 -0700</bug_when>
    <thetext>Comment on attachment 39421
Add setPoster() &amp; canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface. (take 2)

Clearing the r? flag while I talk offline with Andrei about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151868</commentid>
    <comment_count>6</comment_count>
      <attachid>40527</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2009-10-02 09:31:01 -0700</bug_when>
    <thetext>Created attachment 40527
Add prepareToPlay(), setPoster() and canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface. (take 3)

Hi Eric,

Sorry for the late reply on this, it&apos;s only today that I got a chance to upload a new patch.

As we discussed, I have added a method that is called when the state of HTMLMediaElement is &apos;readyToPlay&apos; but the media backend doesn&apos;t yet have enough data. This is the case with our backend that does not prebuffer any content. This allows the state to be correct from the beginning (NetworkState::Empty and ReadyState::HaveNothing) and allows the backend to change the network and ready states just before playback.

I left the setPoster method where it was in the first patch. Before playback, it&apos;s WebCore that draws the poster. After playback, it&apos;s the MediaPlayerPrivate that draws the poster in its paint method.

All the best,
Andrei</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151871</commentid>
    <comment_count>7</comment_count>
      <attachid>40529</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2009-10-02 09:34:28 -0700</bug_when>
    <thetext>Created attachment 40529
Add prepareToPlay(), setPoster() and canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface. (take 3)

Looks like there was something wrong with the Changelog in the previous patch. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152339</commentid>
    <comment_count>8</comment_count>
      <attachid>40529</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-10-05 10:15:27 -0700</bug_when>
    <thetext>Comment on attachment 40529
Add prepareToPlay(), setPoster() and canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface. (take 3)

r=me

Thanks Andrei!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152373</commentid>
    <comment_count>9</comment_count>
      <attachid>40529</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-05 11:05:50 -0700</bug_when>
    <thetext>Comment on attachment 40529
Add prepareToPlay(), setPoster() and canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface. (take 3)

Andrei is not a committer yet, adding cq+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152390</commentid>
    <comment_count>10</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2009-10-05 11:25:43 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 40529 [details])
&gt; Andrei is not a committer yet, adding cq+.

Did the CQ grab this already? Andrei asked me to remove a tab in the ChangeLog and I fixed some extra braces -- was just about to manually commit....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152392</commentid>
    <comment_count>11</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2009-10-05 11:29:11 -0700</bug_when>
    <thetext>Looks like the CQ didn&apos;t get it yet. I&apos;ll land manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152660</commentid>
    <comment_count>12</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2009-10-06 04:35:24 -0700</bug_when>
    <thetext>landed as r49164.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39360</attachid>
            <date>2009-09-10 11:27:01 -0700</date>
            <delta_ts>2009-09-11 04:08:59 -0700</delta_ts>
            <desc>Add setPoster() &amp; canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface.</desc>
            <filename>29133.patch</filename>
            <type>text/plain</type>
            <size>4495</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODI2MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMDktMDktMTAgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFsbG93IHRoZSBwbGF0Zm9ybSBtZWRpYSBwbGF5ZXIgdG8ga25vdyB0aGUgPHZpZGVvPiBwb3N0
ZXIgVVJMLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjkxMzMKKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
Ojpsb2FkUmVzb3VyY2UpOgorICAgICAgICBBZnRlciB0aGUgTWVkaWFQbGF5ZXIgaXMgY3JlYXRl
ZCwgaW5mb3JtIGl0IHdoYXQgdGhlIHBvc3RlciBVUkwgaXMuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TnVsbE1lZGlhUGxh
eWVyUHJpdmF0ZTo6Y2FuTG9hZFBvc3Rlcik6CisgICAgICAgIEVtcHR5IGltcGxlbWVudGF0aW9u
IGZvciB0aGUgTnVsbE1lZGlhUGxheWVyUHJpdmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bGxN
ZWRpYVBsYXllclByaXZhdGU6OnNldFBvc3Rlcik6CisgICAgICAgIEVtcHR5IGltcGxlbWVudGF0
aW9uIGZvciB0aGUgTnVsbE1lZGlhUGxheWVyUHJpdmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyOjpjYW5Mb2FkUG9zdGVyKToKKyAgICAgICAgUHJveHkgdG8gdGhlIG1fcHJpdmF0
ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpzZXRQb3N0ZXIpOgorICAgICAgICBQ
cm94eSB0byBtX3ByaXZhdGUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6Y2FuTG9hZFBv
c3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U6OnNl
dFBvc3Rlcik6CisgICAgICAgIEFkZCBuZXcgbWV0aG9kcyB0aGF0IGFsbG93IHRoZSBwbGF0Zm9y
bSBwbGF5ZXIgdG8gcmVjZWl2ZSB0aGUgcG9zdGVyIFVSTC4KKwogMjAwOS0wOS0xMCAgR3VzdGF2
byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBYYW4gTG9wZXogYW5kIERhbiBXaW5zaGlwLgpJbmRleDogV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24gNDgyNTUpCisrKyBXZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3Nyw3ICs1NzcsMTMgQEAgdm9p
ZCBIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UoY29ucwogICAgIHVwZGF0ZVZvbHVtZSgp
OwogCiAgICAgbV9wbGF5ZXItPmxvYWQobV9jdXJyZW50U3JjLCBjb250ZW50VHlwZSk7Ci0gICAg
CisKKyAgICBpZiAoaXNWaWRlbygpICYmIG1fcGxheWVyLT5jYW5Mb2FkUG9zdGVyKCkpIHsKKyAg
ICAgICAgS1VSTCBwb3N0ZXJVcmwgPSBzdGF0aWNfY2FzdDxIVE1MVmlkZW9FbGVtZW50Kj4odGhp
cyktPnBvc3RlcigpOworICAgICAgICBpZiAoIXBvc3RlclVybC5pc0VtcHR5KCkpCisgICAgICAg
ICAgICBtX3BsYXllci0+c2V0UG9zdGVyKHBvc3RlclVybCk7CisgICAgfQorCiAgICAgaWYgKHJl
bmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CiB9Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAkocmV2aXNpb24g
NDgyNTUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTAzLDggKzEwMywxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZv
aWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpIHsgfQogCisgICAgdmly
dHVhbCBib29sIGNhbkxvYWRQb3N0ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZp
cnR1YWwgdm9pZCBzZXRQb3N0ZXIoY29uc3QgU3RyaW5nJikgeyB9CisKICNpZiBFTkFCTEUoUExV
R0lOX1BST1hZX0ZPUl9WSURFTykKLSAgICB2aXJ0dWFsIHZvaWQgc2V0UG9zdGVyKGNvbnN0IFN0
cmluZyYgLyp1cmwqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRlbGl2ZXJOb3RpZmljYXRpb24o
TWVkaWFQbGF5ZXJQcm94eU5vdGlmaWNhdGlvblR5cGUpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBz
ZXRNZWRpYVBsYXllclByb3h5KFdlYk1lZGlhUGxheWVyUHJveHkqKSB7IH0KICNlbmRpZgpAQCAt
MjUyLDEyICsyNTQsMTUgQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBTdHJpbmcmIHVy
bAogICAgICAgICBtX3ByaXZhdGUuc2V0KGNyZWF0ZU51bGxNZWRpYVBsYXllcih0aGlzKSk7CiB9
ICAgIAogCi0jaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCitib29sIE1lZGlhUGxh
eWVyOjpjYW5Mb2FkUG9zdGVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlLT5jYW5M
b2FkUG9zdGVyKCk7Cit9CisgICAgCiB2b2lkIE1lZGlhUGxheWVyOjpzZXRQb3N0ZXIoY29uc3Qg
U3RyaW5nJiB1cmwpCiB7CiAgICAgbV9wcml2YXRlLT5zZXRQb3N0ZXIodXJsKTsKIH0gICAgCi0j
ZW5kaWYKIAogdm9pZCBNZWRpYVBsYXllcjo6Y2FuY2VsTG9hZCgpCiB7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCShyZXZpc2lvbiA0ODI1NSkKKysrIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTg1
LDggKzE4NSwxMCBAQCBwdWJsaWM6CiAKICAgICBNZWRpYVBsYXllckNsaWVudCogbWVkaWFQbGF5
ZXJDbGllbnQoKSBjb25zdCB7IHJldHVybiBtX21lZGlhUGxheWVyQ2xpZW50OyB9CiAKKyAgICBi
b29sIGNhbkxvYWRQb3N0ZXIoKSBjb25zdDsKKyAgICB2b2lkIHNldFBvc3Rlcihjb25zdCBTdHJp
bmcmKTsKKwogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQotICAgIHZvaWQgc2V0
UG9zdGVyKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRlbGl2ZXJOb3RpZmljYXRpb24o
TWVkaWFQbGF5ZXJQcm94eU5vdGlmaWNhdGlvblR5cGUgbm90aWZpY2F0aW9uKTsKICAgICB2b2lk
IHNldE1lZGlhUGxheWVyUHJveHkoV2ViTWVkaWFQbGF5ZXJQcm94eSogcHJveHkpOwogI2VuZGlm
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRl
LmgJKHJldmlzaW9uIDQ4MjU1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTMsOCArOTMsMTAgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCB2b2lkIHNldEF1dG9idWZmZXIoYm9vbCkgeyB9OwogCisgICAgdmlydHVh
bCBib29sIGNhbkxvYWRQb3N0ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1
YWwgdm9pZCBzZXRQb3N0ZXIoY29uc3QgU3RyaW5nJikgeyB9CisKICNpZiBFTkFCTEUoUExVR0lO
X1BST1hZX0ZPUl9WSURFTykKLSAgICB2aXJ0dWFsIHZvaWQgc2V0UG9zdGVyKGNvbnN0IFN0cmlu
ZyYgdXJsKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRlbGl2ZXJOb3RpZmljYXRpb24oTWVkaWFQ
bGF5ZXJQcm94eU5vdGlmaWNhdGlvblR5cGUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TWVk
aWFQbGF5ZXJQcm94eShXZWJNZWRpYVBsYXllclByb3h5KikgPSAwOwogI2VuZGlmCg==
</data>
<flag name="review"
          id="20449"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39421</attachid>
            <date>2009-09-11 04:08:59 -0700</date>
            <delta_ts>2009-10-02 09:31:01 -0700</delta_ts>
            <desc>Add setPoster() &amp; canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface. (take 2)</desc>
            <filename>29133.patch</filename>
            <type>text/plain</type>
            <size>4741</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODI2MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMDktMDktMTAgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFsbG93IHRoZSBwbGF0Zm9ybSBtZWRpYSBwbGF5ZXIgdG8ga25vdyB0aGUgPHZpZGVvPiBwb3N0
ZXIgVVJMLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjkxMzMKKworICAgICAgICBBbGwgcGxhdGZvcm1zIHRoYXQgY3VycmVudGx5IGltcGxlbWVudCA8
dmlkZW8+IHJldHVybiBmYWxzZQorICAgICAgICBpbiBNZWRpYVBsYXllclByaXZhdGU6OmNhbkxv
YWRQb3N0ZXIoKSBzbyB0aGVpciBiZWhhdmlvciBpcworICAgICAgICB1bmNoYW5nZWQuIFRoZSBj
dXJyZW50IHNldCBvZiBtZWRpYSB0ZXN0IHNob3VsZCB0aGVuIGJlCisgICAgICAgIHN1ZmZpY2ll
bnQgdG8gZ3VhcmFudGVlIHRoYXQgdGhpcyBwYXRjaCBkb2VzIG5vdCBicmVhayBhbnl0aGluZy4K
KworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UpOgorICAgICAgICBBZnRlciB0aGUgTWVk
aWFQbGF5ZXIgaXMgY3JlYXRlZCwgaW5mb3JtIGl0IHdoYXQgdGhlIHBvc3RlciBVUkwgaXMuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TnVsbE1lZGlhUGxheWVyUHJpdmF0ZTo6Y2FuTG9hZFBvc3Rlcik6CisgICAgICAgIEVt
cHR5IGltcGxlbWVudGF0aW9uIGZvciB0aGUgTnVsbE1lZGlhUGxheWVyUHJpdmF0ZS4KKyAgICAg
ICAgKFdlYkNvcmU6Ok51bGxNZWRpYVBsYXllclByaXZhdGU6OnNldFBvc3Rlcik6CisgICAgICAg
IEVtcHR5IGltcGxlbWVudGF0aW9uIGZvciB0aGUgTnVsbE1lZGlhUGxheWVyUHJpdmF0ZS4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpjYW5Mb2FkUG9zdGVyKToKKyAgICAgICAgUHJv
eHkgdG8gdGhlIG1fcHJpdmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpzZXRQ
b3N0ZXIpOgorICAgICAgICBQcm94eSB0byBtX3ByaXZhdGUuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllclByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUlu
dGVyZmFjZTo6Y2FuTG9hZFBvc3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVJbnRlcmZhY2U6OnNldFBvc3Rlcik6CisgICAgICAgIEFkZCBuZXcgbWV0aG9kcyB0aGF0
IGFsbG93IHRoZSBwbGF0Zm9ybSBwbGF5ZXIgdG8gcmVjZWl2ZSB0aGUgcG9zdGVyIFVSTC4KKwog
MjAwOS0wOS0xMCAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxh
Ym9yYS5jby51az4KIAogICAgICAgICBSZXZpZXdlZCBieSBYYW4gTG9wZXogYW5kIERhbiBXaW5z
aGlwLgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24gNDgyNTUpCisr
KyBXZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3
Nyw3ICs1NzcsMTMgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UoY29ucwog
ICAgIHVwZGF0ZVZvbHVtZSgpOwogCiAgICAgbV9wbGF5ZXItPmxvYWQobV9jdXJyZW50U3JjLCBj
b250ZW50VHlwZSk7Ci0gICAgCisKKyAgICBpZiAoaXNWaWRlbygpICYmIG1fcGxheWVyLT5jYW5M
b2FkUG9zdGVyKCkpIHsKKyAgICAgICAgS1VSTCBwb3N0ZXJVcmwgPSBzdGF0aWNfY2FzdDxIVE1M
VmlkZW9FbGVtZW50Kj4odGhpcyktPnBvc3RlcigpOworICAgICAgICBpZiAoIXBvc3RlclVybC5p
c0VtcHR5KCkpCisgICAgICAgICAgICBtX3BsYXllci0+c2V0UG9zdGVyKHBvc3RlclVybCk7Cisg
ICAgfQorCiAgICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZy
b21FbGVtZW50KCk7CiB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmNwcAkocmV2aXNpb24gNDgyNTUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDggKzEwMywxMCBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVj
dCYpIHsgfQogCisgICAgdmlydHVhbCBib29sIGNhbkxvYWRQb3N0ZXIoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRQb3N0ZXIoY29uc3QgU3RyaW5nJikgeyB9
CisKICNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKLSAgICB2aXJ0dWFsIHZvaWQg
c2V0UG9zdGVyKGNvbnN0IFN0cmluZyYgLyp1cmwqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRl
bGl2ZXJOb3RpZmljYXRpb24oTWVkaWFQbGF5ZXJQcm94eU5vdGlmaWNhdGlvblR5cGUpIHsgfQog
ICAgIHZpcnR1YWwgdm9pZCBzZXRNZWRpYVBsYXllclByb3h5KFdlYk1lZGlhUGxheWVyUHJveHkq
KSB7IH0KICNlbmRpZgpAQCAtMjUyLDEyICsyNTQsMTUgQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9h
ZChjb25zdCBTdHJpbmcmIHVybAogICAgICAgICBtX3ByaXZhdGUuc2V0KGNyZWF0ZU51bGxNZWRp
YVBsYXllcih0aGlzKSk7CiB9ICAgIAogCi0jaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklE
RU8pCitib29sIE1lZGlhUGxheWVyOjpjYW5Mb2FkUG9zdGVyKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9wcml2YXRlLT5jYW5Mb2FkUG9zdGVyKCk7Cit9CisgICAgCiB2b2lkIE1lZGlhUGxheWVy
OjpzZXRQb3N0ZXIoY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgbV9wcml2YXRlLT5zZXRQb3N0
ZXIodXJsKTsKIH0gICAgCi0jZW5kaWYKIAogdm9pZCBNZWRpYVBsYXllcjo6Y2FuY2VsTG9hZCgp
CiB7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCShyZXZpc2lv
biA0ODI1NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMTg1LDggKzE4NSwxMCBAQCBwdWJsaWM6CiAKICAgICBNZWRpYVBsYXll
ckNsaWVudCogbWVkaWFQbGF5ZXJDbGllbnQoKSBjb25zdCB7IHJldHVybiBtX21lZGlhUGxheWVy
Q2xpZW50OyB9CiAKKyAgICBib29sIGNhbkxvYWRQb3N0ZXIoKSBjb25zdDsKKyAgICB2b2lkIHNl
dFBvc3Rlcihjb25zdCBTdHJpbmcmKTsKKwogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJ
REVPKQotICAgIHZvaWQgc2V0UG9zdGVyKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRl
bGl2ZXJOb3RpZmljYXRpb24oTWVkaWFQbGF5ZXJQcm94eU5vdGlmaWNhdGlvblR5cGUgbm90aWZp
Y2F0aW9uKTsKICAgICB2b2lkIHNldE1lZGlhUGxheWVyUHJveHkoV2ViTWVkaWFQbGF5ZXJQcm94
eSogcHJveHkpOwogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXJQcml2YXRlLmgJKHJldmlzaW9uIDQ4MjU1KQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTMsOCAr
OTMsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldEF1dG9idWZmZXIoYm9vbCkg
eyB9OwogCisgICAgdmlydHVhbCBib29sIGNhbkxvYWRQb3N0ZXIoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRQb3N0ZXIoY29uc3QgU3RyaW5nJikgeyB9CisK
ICNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKLSAgICB2aXJ0dWFsIHZvaWQgc2V0
UG9zdGVyKGNvbnN0IFN0cmluZyYgdXJsKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRlbGl2ZXJO
b3RpZmljYXRpb24oTWVkaWFQbGF5ZXJQcm94eU5vdGlmaWNhdGlvblR5cGUpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0TWVkaWFQbGF5ZXJQcm94eShXZWJNZWRpYVBsYXllclByb3h5KikgPSAw
OwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40527</attachid>
            <date>2009-10-02 09:31:01 -0700</date>
            <delta_ts>2009-10-02 09:34:28 -0700</delta_ts>
            <desc>Add prepareToPlay(), setPoster() and canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface. (take 3)</desc>
            <filename>29133.patch.v2</filename>
            <type>text/plain</type>
            <size>8027</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTAyMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDggQEAKKzIwMDktMDktMTAgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFsbG93IHRoZSBwbGF0Zm9ybSBtZWRpYSBwbGF5ZXIgdG8ga25vdyB0aGUgPHZpZGVvPiBwb3N0
ZXIgVVJMLgorICAgICAgICBBZGQgTWVkaWFQbGF5ZXJQcml2YXRlOjpwcmVwYXJlVG9QbGF5KCkg
dG8gc3VwcG9ydCBtZWRpYSBlbmdpbmVzCisgICAgICAgIHRoYXQgZG8gbm90IGJ1ZmZlciB2aWRl
byBkYXRhIGF1dG9tYXRpY2FsbHkuIFRoaXMgbWV0aG9kIGFsbG93cworICAgICAgICBzdWNoIG1l
ZGlhIGVuZ2luZXMgdG8gc3RhcnQgdGhlIGJ1ZmZlcmluZyBqdXN0IGJlZm9yZSBzdGFydGluZwor
ICAgICAgICBwbGF5YmFjay4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI5MTMzCisKKyAgICAgICAgQWxsIHBsYXRmb3JtcyB0aGF0IGN1cnJlbnRseSBp
bXBsZW1lbnQgPHZpZGVvPiByZXR1cm4gZmFsc2UKKyAgICAgICAgaW4gTWVkaWFQbGF5ZXJQcml2
YXRlOjpjYW5Mb2FkUG9zdGVyKCkgYW5kIGRvIG5vdGhpbmcgaW4KKyAgICAgICAgTWVkaWFQbGF5
ZXJQcml2YXRlOjpwcmVwYXJlVG9QbGF5KCkgdGhlaXIgYmVoYXZpb3IgaXMKKyAgICAgICAgdW5j
aGFuZ2VkLiBUaGUgY3VycmVudCBzZXQgb2YgbWVkaWEgdGVzdCBzaG91bGQgdGhlbiBiZQorICAg
ICAgICBzdWZmaWNpZW50IHRvIGd1YXJhbnRlZSB0aGF0IHRoaXMgcGF0Y2ggZG9lcyBub3QgYnJl
YWsgYW55dGhpbmcuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bG9hZFJlc291cmNlKToKKyAgICAgICAg
QWZ0ZXIgdGhlIE1lZGlhUGxheWVyIGlzIGNyZWF0ZWQsIGluZm9ybSBpdCB3aGF0IHRoZSBwb3N0
ZXIgVVJMIGlzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlUGxh
eVN0YXRlKToKKyAgICAgICAgQWRkIGFub3RoZXIgY2FzZSB3aGVyZSBwcmVwYXJlVG9QbGF5IGlz
IGNhbGxlZCBmb3IgdGhlIHBsYXRmb3JtcworICAgICAgICB0aGF0IGRvIG5vdCBidWZmZXIgdmlk
ZW8gY29udGVudCBhdXRvbWF0aWNhbGx5LgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6Y291bGRQbGF5SWZFbm91Z2hEYXRhKQorICAgICAgICBTYW1lIGFzIHBvdGVudGlhbGx5
UGxheWluZywgZXhjZXB0IHRoYXQgd2UgZG9uJ3QgY2hlY2sgZm9yCisgICAgICAgIHRoZSByZWFk
eVN0YXRlIGJlaW5nIGF0IGxlYXN0IEhBVkVfRlVUVVJFX0RBVEEuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TnVsbE1lZGlh
UGxheWVyUHJpdmF0ZTo6Y2FuTG9hZFBvc3Rlcik6CisgICAgICAgIEVtcHR5IGltcGxlbWVudGF0
aW9uIGZvciB0aGUgTnVsbE1lZGlhUGxheWVyUHJpdmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51
bGxNZWRpYVBsYXllclByaXZhdGU6OnNldFBvc3Rlcik6CisgICAgICAgIEVtcHR5IGltcGxlbWVu
dGF0aW9uIGZvciB0aGUgTnVsbE1lZGlhUGxheWVyUHJpdmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyOjpjYW5Mb2FkUG9zdGVyKToKKyAgICAgICAgUHJveHkgdG8gdGhlIG1fcHJp
dmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpzZXRQb3N0ZXIpOgorICAgICAg
ICBQcm94eSB0byBtX3ByaXZhdGUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6Y2FuTG9h
ZFBvc3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U6
OnNldFBvc3Rlcik6CisgICAgICAgIEFkZCBuZXcgbWV0aG9kcyB0aGF0IGFsbG93IHRoZSBwbGF0
Zm9ybSBwbGF5ZXIgdG8gcmVjZWl2ZSB0aGUgcG9zdGVyIFVSTC4KKwkoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlOjpwcmVwYXJlVG9QbGF5KToKKyAgICAgICAgTm90aWZpZXMg
dGhlIG1lZGlhIGVuZ2luZSB0aGF0IHBsYXliYWNrIHNob3VsZCBzdGFydC4gVGhlIG1lZGlhIGVu
Z2luZQorICAgICAgICBzaG91bGQgc3RhcnQgcHJlcGFyaW5nIChlLmcuIGJ5IGluaXRpYWxpemlu
ZyB0aGUgcGxheWVyIGFuZCBzdGFydGluZyB0byBidWZmZXIpCisgICAgICAgIGFuZCBjYWxsIGJh
Y2sgd2hlbiB0aGUgc3RhdGUgaXMgY2hhbmdlZCB0byBIQVZFX0ZVVFVSRV9EQVRBLgorCiAyMDA5
LTEwLTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEuCkBAIC04MzgzLDYgKzg0MjgsNyBAQAogICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGw6IEFkZCBhIC0td3Jp
dGUtZGVwZW5kZW5jaWVzCiAgICAgICAgIG9wdGlvbi4KIAorPj4+Pj4+PiAucjQ4NjI0CiAyMDA5
LTA5LTEwICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3Jh
LmNvLnVrPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3BleiBhbmQgRGFuIFdpbnNoaXAu
CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShyZXZpc2lvbiA0OTAyMSkKKysrIFdl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTc3LDcg
KzU3NywxMyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zCiAgICAg
dXBkYXRlVm9sdW1lKCk7CiAKICAgICBtX3BsYXllci0+bG9hZChtX2N1cnJlbnRTcmMsIGNvbnRl
bnRUeXBlKTsKLSAgICAKKworICAgIGlmIChpc1ZpZGVvKCkgJiYgbV9wbGF5ZXItPmNhbkxvYWRQ
b3N0ZXIoKSkgeworICAgICAgICBLVVJMIHBvc3RlclVybCA9IHN0YXRpY19jYXN0PEhUTUxWaWRl
b0VsZW1lbnQqPih0aGlzKS0+cG9zdGVyKCk7CisgICAgICAgIGlmICghcG9zdGVyVXJsLmlzRW1w
dHkoKSkKKyAgICAgICAgICAgIG1fcGxheWVyLT5zZXRQb3N0ZXIocG9zdGVyVXJsKTsKKyAgICB9
CisKICAgICBpZiAocmVuZGVyZXIoKSkKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVs
ZW1lbnQoKTsKIH0KQEAgLTE1MTQsNyArMTUyMCwxMiBAQCBQYXNzUmVmUHRyPFRpbWVSYW5nZXM+
IEhUTUxNZWRpYUVsZW1lbnQ6CiAKIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6cG90ZW50aWFsbHlQ
bGF5aW5nKCkgY29uc3QKIHsKLSAgICByZXR1cm4gIXBhdXNlZCgpICYmIG1fcmVhZHlTdGF0ZSA+
PSBIQVZFX0ZVVFVSRV9EQVRBICYmICFlbmRlZFBsYXliYWNrKCkgJiYgIXN0b3BwZWREdWVUb0Vy
cm9ycygpICYmICFwYXVzZWRGb3JVc2VySW50ZXJhY3Rpb24oKTsKKyAgICByZXR1cm4gbV9yZWFk
eVN0YXRlID49IEhBVkVfRlVUVVJFX0RBVEEgJiYgY291bGRQbGF5SWZFbm91Z2hEYXRhKCk7Cit9
CisKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6Y291bGRQbGF5SWZFbm91Z2hEYXRhKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gIXBhdXNlZCgpICYmICFlbmRlZFBsYXliYWNrKCkgJiYgIXN0b3BwZWRE
dWVUb0Vycm9ycygpICYmICFwYXVzZWRGb3JVc2VySW50ZXJhY3Rpb24oKTsKIH0KIAogYm9vbCBI
VE1MTWVkaWFFbGVtZW50OjplbmRlZFBsYXliYWNrKCkgY29uc3QKQEAgLTE1OTgsNiArMTYwOSw4
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlUGxheVN0YXRlKCkKICAgICAgICAgZmxv
YXQgdGltZSA9IGN1cnJlbnRUaW1lKCk7CiAgICAgICAgIGlmICh0aW1lID4gbV9sYXN0U2Vla1Rp
bWUpCiAgICAgICAgICAgICBhZGRQbGF5ZWRSYW5nZShtX2xhc3RTZWVrVGltZSwgdGltZSk7Cisg
ICAgfSBlbHNlIGlmIChjb3VsZFBsYXlJZkVub3VnaERhdGEoKSAmJiBwbGF5ZXJQYXVzZWQpIHsK
KyAgICAgICAgbV9wbGF5ZXItPnByZXBhcmVUb1BsYXkoKTsKICAgICB9CiAgICAgCiAgICAgaWYg
KHJlbmRlcmVyKCkpCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJKHJldmlzaW9uIDQ5MDIx
KQorKysgV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MjMzLDYgKzIzMyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBlbmRlZFBsYXliYWNrKCkgY29uc3Q7
CiAgICAgYm9vbCBzdG9wcGVkRHVlVG9FcnJvcnMoKSBjb25zdDsKICAgICBib29sIHBhdXNlZEZv
clVzZXJJbnRlcmFjdGlvbigpIGNvbnN0OworICAgIGJvb2wgY291bGRQbGF5SWZFbm91Z2hEYXRh
KCkgY29uc3Q7CiAKICAgICBmbG9hdCBtaW5UaW1lU2Vla2FibGUoKSBjb25zdDsKICAgICBmbG9h
dCBtYXhUaW1lU2Vla2FibGUoKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCShyZXZpc2lvbiA0OTAyMSkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgY2FuY2VsTG9hZCgpIHsgfQogICAgIAorICAgIHZpcnR1YWwgdm9pZCBwcmVw
YXJlVG9QbGF5KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBsYXkoKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgcGF1c2UoKSB7IH0gICAgCiAKQEAgLTEwNCw4ICsxMDUsMTAgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKSB7
IH0KIAorICAgIHZpcnR1YWwgYm9vbCBjYW5Mb2FkUG9zdGVyKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0UG9zdGVyKGNvbnN0IFN0cmluZyYpIHsgfQorCiAj
aWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCi0gICAgdmlydHVhbCB2b2lkIHNldFBv
c3Rlcihjb25zdCBTdHJpbmcmIC8qdXJsKi8pIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkZWxpdmVy
Tm90aWZpY2F0aW9uKE1lZGlhUGxheWVyUHJveHlOb3RpZmljYXRpb25UeXBlKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgc2V0TWVkaWFQbGF5ZXJQcm94eShXZWJNZWRpYVBsYXllclByb3h5KikgeyB9
CiAjZW5kaWYKQEAgLTI1MywxOCArMjU2LDI2IEBAIHZvaWQgTWVkaWFQbGF5ZXI6OmxvYWQoY29u
c3QgU3RyaW5nJiB1cmwKICAgICAgICAgbV9wcml2YXRlLnNldChjcmVhdGVOdWxsTWVkaWFQbGF5
ZXIodGhpcykpOwogfSAgICAKIAotI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQor
Ym9vbCBNZWRpYVBsYXllcjo6Y2FuTG9hZFBvc3RlcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
cHJpdmF0ZS0+Y2FuTG9hZFBvc3RlcigpOworfQorICAgIAogdm9pZCBNZWRpYVBsYXllcjo6c2V0
UG9zdGVyKGNvbnN0IFN0cmluZyYgdXJsKQogewogICAgIG1fcHJpdmF0ZS0+c2V0UG9zdGVyKHVy
bCk7CiB9ICAgIAotI2VuZGlmCiAKIHZvaWQgTWVkaWFQbGF5ZXI6OmNhbmNlbExvYWQoKQogewog
ICAgIG1fcHJpdmF0ZS0+Y2FuY2VsTG9hZCgpOwogfSAgICAKIAordm9pZCBNZWRpYVBsYXllcjo6
cHJlcGFyZVRvUGxheSgpCit7CisgICAgbV9wcml2YXRlLT5wcmVwYXJlVG9QbGF5KCk7Cit9Cisg
ICAgCiB2b2lkIE1lZGlhUGxheWVyOjpwbGF5KCkKIHsKICAgICBtX3ByaXZhdGUtPnBsYXkoKTsK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgJKHJldmlzaW9uIDQ5
MDIxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMjcsNiArMTI3LDcgQEAgcHVibGljOgogICAgIGJvb2wgdmlzaWJsZSgpIGNv
bnN0OwogICAgIHZvaWQgc2V0VmlzaWJsZShib29sKTsKICAgICAKKyAgICB2b2lkIHByZXBhcmVU
b1BsYXkoKTsKICAgICB2b2lkIHBsYXkoKTsKICAgICB2b2lkIHBhdXNlKCk7ICAgIAogICAgIApA
QCAtMTg2LDggKzE4NywxMCBAQCBwdWJsaWM6CiAKICAgICBNZWRpYVBsYXllckNsaWVudCogbWVk
aWFQbGF5ZXJDbGllbnQoKSBjb25zdCB7IHJldHVybiBtX21lZGlhUGxheWVyQ2xpZW50OyB9CiAK
KyAgICBib29sIGNhbkxvYWRQb3N0ZXIoKSBjb25zdDsKKyAgICB2b2lkIHNldFBvc3Rlcihjb25z
dCBTdHJpbmcmKTsKKwogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQotICAgIHZv
aWQgc2V0UG9zdGVyKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRlbGl2ZXJOb3RpZmlj
YXRpb24oTWVkaWFQbGF5ZXJQcm94eU5vdGlmaWNhdGlvblR5cGUgbm90aWZpY2F0aW9uKTsKICAg
ICB2b2lkIHNldE1lZGlhUGxheWVyUHJveHkoV2ViTWVkaWFQbGF5ZXJQcm94eSogcHJveHkpOwog
I2VuZGlmCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQ
cml2YXRlLmgJKHJldmlzaW9uIDQ5MDIxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllclByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgY2FuY2VsTG9hZCgpID0gMDsKICAgICAKKyAgICB2aXJ0dWFsIHZvaWQgcHJl
cGFyZVRvUGxheSgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwbGF5KCkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBwYXVzZSgpID0gMDsgICAgCiAKQEAgLTkzLDggKzk0LDEwIEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgdm9pZCBzZXRBdXRvYnVmZmVyKGJvb2wpIHsgfTsKIAorICAgIHZpcnR1YWwg
Ym9vbCBjYW5Mb2FkUG9zdGVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgc2V0UG9zdGVyKGNvbnN0IFN0cmluZyYpIHsgfQorCiAjaWYgRU5BQkxFKFBMVUdJTl9Q
Uk9YWV9GT1JfVklERU8pCi0gICAgdmlydHVhbCB2b2lkIHNldFBvc3Rlcihjb25zdCBTdHJpbmcm
IHVybCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkZWxpdmVyTm90aWZpY2F0aW9uKE1lZGlhUGxh
eWVyUHJveHlOb3RpZmljYXRpb25UeXBlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldE1lZGlh
UGxheWVyUHJveHkoV2ViTWVkaWFQbGF5ZXJQcm94eSopID0gMDsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40529</attachid>
            <date>2009-10-02 09:34:28 -0700</date>
            <delta_ts>2009-10-05 11:28:18 -0700</delta_ts>
            <desc>Add prepareToPlay(), setPoster() and canLoadPoster() methods to the MediaPlayer class and MediaPlayerPrivate iface. (take 3)</desc>
            <filename>29133.patch.v2</filename>
            <type>text/plain</type>
            <size>7772</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTAyMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDggQEAKKzIwMDktMDktMTAgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFsbG93IHRoZSBwbGF0Zm9ybSBtZWRpYSBwbGF5ZXIgdG8ga25vdyB0aGUgPHZpZGVvPiBwb3N0
ZXIgVVJMLgorICAgICAgICBBZGQgTWVkaWFQbGF5ZXJQcml2YXRlOjpwcmVwYXJlVG9QbGF5KCkg
dG8gc3VwcG9ydCBtZWRpYSBlbmdpbmVzCisgICAgICAgIHRoYXQgZG8gbm90IGJ1ZmZlciB2aWRl
byBkYXRhIGF1dG9tYXRpY2FsbHkuIFRoaXMgbWV0aG9kIGFsbG93cworICAgICAgICBzdWNoIG1l
ZGlhIGVuZ2luZXMgdG8gc3RhcnQgdGhlIGJ1ZmZlcmluZyBqdXN0IGJlZm9yZSBzdGFydGluZwor
ICAgICAgICBwbGF5YmFjay4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI5MTMzCisKKyAgICAgICAgQWxsIHBsYXRmb3JtcyB0aGF0IGN1cnJlbnRseSBp
bXBsZW1lbnQgPHZpZGVvPiByZXR1cm4gZmFsc2UKKyAgICAgICAgaW4gTWVkaWFQbGF5ZXJQcml2
YXRlOjpjYW5Mb2FkUG9zdGVyKCkgYW5kIGRvIG5vdGhpbmcgaW4KKyAgICAgICAgTWVkaWFQbGF5
ZXJQcml2YXRlOjpwcmVwYXJlVG9QbGF5KCkgdGhlaXIgYmVoYXZpb3IgaXMKKyAgICAgICAgdW5j
aGFuZ2VkLiBUaGUgY3VycmVudCBzZXQgb2YgbWVkaWEgdGVzdCBzaG91bGQgdGhlbiBiZQorICAg
ICAgICBzdWZmaWNpZW50IHRvIGd1YXJhbnRlZSB0aGF0IHRoaXMgcGF0Y2ggZG9lcyBub3QgYnJl
YWsgYW55dGhpbmcuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bG9hZFJlc291cmNlKToKKyAgICAgICAg
QWZ0ZXIgdGhlIE1lZGlhUGxheWVyIGlzIGNyZWF0ZWQsIGluZm9ybSBpdCB3aGF0IHRoZSBwb3N0
ZXIgVVJMIGlzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlUGxh
eVN0YXRlKToKKyAgICAgICAgQWRkIGFub3RoZXIgY2FzZSB3aGVyZSBwcmVwYXJlVG9QbGF5IGlz
IGNhbGxlZCBmb3IgdGhlIHBsYXRmb3JtcworICAgICAgICB0aGF0IGRvIG5vdCBidWZmZXIgdmlk
ZW8gY29udGVudCBhdXRvbWF0aWNhbGx5LgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6Y291bGRQbGF5SWZFbm91Z2hEYXRhKQorICAgICAgICBTYW1lIGFzIHBvdGVudGlhbGx5
UGxheWluZywgZXhjZXB0IHRoYXQgd2UgZG9uJ3QgY2hlY2sgZm9yCisgICAgICAgIHRoZSByZWFk
eVN0YXRlIGJlaW5nIGF0IGxlYXN0IEhBVkVfRlVUVVJFX0RBVEEuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TnVsbE1lZGlh
UGxheWVyUHJpdmF0ZTo6Y2FuTG9hZFBvc3Rlcik6CisgICAgICAgIEVtcHR5IGltcGxlbWVudGF0
aW9uIGZvciB0aGUgTnVsbE1lZGlhUGxheWVyUHJpdmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51
bGxNZWRpYVBsYXllclByaXZhdGU6OnNldFBvc3Rlcik6CisgICAgICAgIEVtcHR5IGltcGxlbWVu
dGF0aW9uIGZvciB0aGUgTnVsbE1lZGlhUGxheWVyUHJpdmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyOjpjYW5Mb2FkUG9zdGVyKToKKyAgICAgICAgUHJveHkgdG8gdGhlIG1fcHJp
dmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpzZXRQb3N0ZXIpOgorICAgICAg
ICBQcm94eSB0byBtX3ByaXZhdGUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6Y2FuTG9h
ZFBvc3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U6
OnNldFBvc3Rlcik6CisgICAgICAgIEFkZCBuZXcgbWV0aG9kcyB0aGF0IGFsbG93IHRoZSBwbGF0
Zm9ybSBwbGF5ZXIgdG8gcmVjZWl2ZSB0aGUgcG9zdGVyIFVSTC4KKwkoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlOjpwcmVwYXJlVG9QbGF5KToKKyAgICAgICAgTm90aWZpZXMg
dGhlIG1lZGlhIGVuZ2luZSB0aGF0IHBsYXliYWNrIHNob3VsZCBzdGFydC4gVGhlIG1lZGlhIGVu
Z2luZQorICAgICAgICBzaG91bGQgc3RhcnQgcHJlcGFyaW5nIChlLmcuIGJ5IGluaXRpYWxpemlu
ZyB0aGUgcGxheWVyIGFuZCBzdGFydGluZyB0byBidWZmZXIpCisgICAgICAgIGFuZCBjYWxsIGJh
Y2sgd2hlbiB0aGUgc3RhdGUgaXMgY2hhbmdlZCB0byBIQVZFX0ZVVFVSRV9EQVRBLgorCiAyMDA5
LTEwLTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEuCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCShyZXZpc2lvbiA0OTAyMSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTc3LDcgKzU3NywxMyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zCiAgICAgdXBkYXRlVm9sdW1lKCk7CiAKICAgICBtX3Bs
YXllci0+bG9hZChtX2N1cnJlbnRTcmMsIGNvbnRlbnRUeXBlKTsKLSAgICAKKworICAgIGlmIChp
c1ZpZGVvKCkgJiYgbV9wbGF5ZXItPmNhbkxvYWRQb3N0ZXIoKSkgeworICAgICAgICBLVVJMIHBv
c3RlclVybCA9IHN0YXRpY19jYXN0PEhUTUxWaWRlb0VsZW1lbnQqPih0aGlzKS0+cG9zdGVyKCk7
CisgICAgICAgIGlmICghcG9zdGVyVXJsLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIG1fcGxheWVy
LT5zZXRQb3N0ZXIocG9zdGVyVXJsKTsKKyAgICB9CisKICAgICBpZiAocmVuZGVyZXIoKSkKICAg
ICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKIH0KQEAgLTE1MTQsNyArMTUy
MCwxMiBAQCBQYXNzUmVmUHRyPFRpbWVSYW5nZXM+IEhUTUxNZWRpYUVsZW1lbnQ6CiAKIGJvb2wg
SFRNTE1lZGlhRWxlbWVudDo6cG90ZW50aWFsbHlQbGF5aW5nKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gIXBhdXNlZCgpICYmIG1fcmVhZHlTdGF0ZSA+PSBIQVZFX0ZVVFVSRV9EQVRBICYmICFlbmRl
ZFBsYXliYWNrKCkgJiYgIXN0b3BwZWREdWVUb0Vycm9ycygpICYmICFwYXVzZWRGb3JVc2VySW50
ZXJhY3Rpb24oKTsKKyAgICByZXR1cm4gbV9yZWFkeVN0YXRlID49IEhBVkVfRlVUVVJFX0RBVEEg
JiYgY291bGRQbGF5SWZFbm91Z2hEYXRhKCk7Cit9CisKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6
Y291bGRQbGF5SWZFbm91Z2hEYXRhKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIXBhdXNlZCgpICYm
ICFlbmRlZFBsYXliYWNrKCkgJiYgIXN0b3BwZWREdWVUb0Vycm9ycygpICYmICFwYXVzZWRGb3JV
c2VySW50ZXJhY3Rpb24oKTsKIH0KIAogYm9vbCBIVE1MTWVkaWFFbGVtZW50OjplbmRlZFBsYXli
YWNrKCkgY29uc3QKQEAgLTE1OTgsNiArMTYwOSw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
dXBkYXRlUGxheVN0YXRlKCkKICAgICAgICAgZmxvYXQgdGltZSA9IGN1cnJlbnRUaW1lKCk7CiAg
ICAgICAgIGlmICh0aW1lID4gbV9sYXN0U2Vla1RpbWUpCiAgICAgICAgICAgICBhZGRQbGF5ZWRS
YW5nZShtX2xhc3RTZWVrVGltZSwgdGltZSk7CisgICAgfSBlbHNlIGlmIChjb3VsZFBsYXlJZkVu
b3VnaERhdGEoKSAmJiBwbGF5ZXJQYXVzZWQpIHsKKyAgICAgICAgbV9wbGF5ZXItPnByZXBhcmVU
b1BsYXkoKTsKICAgICB9CiAgICAgCiAgICAgaWYgKHJlbmRlcmVyKCkpCkluZGV4OiBXZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmgJKHJldmlzaW9uIDQ5MDIxKQorKysgV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjMzLDYgKzIzMyw3IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBlbmRlZFBsYXliYWNrKCkgY29uc3Q7CiAgICAgYm9vbCBzdG9wcGVkRHVlVG9FcnJv
cnMoKSBjb25zdDsKICAgICBib29sIHBhdXNlZEZvclVzZXJJbnRlcmFjdGlvbigpIGNvbnN0Owor
ICAgIGJvb2wgY291bGRQbGF5SWZFbm91Z2hEYXRhKCkgY29uc3Q7CiAKICAgICBmbG9hdCBtaW5U
aW1lU2Vla2FibGUoKSBjb25zdDsKICAgICBmbG9hdCBtYXhUaW1lU2Vla2FibGUoKSBjb25zdDsK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCShyZXZpc2lv
biA0OTAyMSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
bG9hZChjb25zdCBTdHJpbmcmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsTG9hZCgpIHsg
fQogICAgIAorICAgIHZpcnR1YWwgdm9pZCBwcmVwYXJlVG9QbGF5KCkgeyB9CiAgICAgdmlydHVh
bCB2b2lkIHBsYXkoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGF1c2UoKSB7IH0gICAgCiAKQEAg
LTEwNCw4ICsxMDUsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBo
aWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKSB7IH0KIAorICAgIHZpcnR1YWwgYm9vbCBjYW5M
b2FkUG9zdGVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0
UG9zdGVyKGNvbnN0IFN0cmluZyYpIHsgfQorCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1Jf
VklERU8pCi0gICAgdmlydHVhbCB2b2lkIHNldFBvc3Rlcihjb25zdCBTdHJpbmcmIC8qdXJsKi8p
IHsgfQogICAgIHZpcnR1YWwgdm9pZCBkZWxpdmVyTm90aWZpY2F0aW9uKE1lZGlhUGxheWVyUHJv
eHlOb3RpZmljYXRpb25UeXBlKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0TWVkaWFQbGF5ZXJQ
cm94eShXZWJNZWRpYVBsYXllclByb3h5KikgeyB9CiAjZW5kaWYKQEAgLTI1MywxOCArMjU2LDI2
IEBAIHZvaWQgTWVkaWFQbGF5ZXI6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwKICAgICAgICAgbV9w
cml2YXRlLnNldChjcmVhdGVOdWxsTWVkaWFQbGF5ZXIodGhpcykpOwogfSAgICAKIAotI2lmIEVO
QUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQorYm9vbCBNZWRpYVBsYXllcjo6Y2FuTG9hZFBv
c3RlcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+Y2FuTG9hZFBvc3RlcigpOwor
fQorICAgIAogdm9pZCBNZWRpYVBsYXllcjo6c2V0UG9zdGVyKGNvbnN0IFN0cmluZyYgdXJsKQog
ewogICAgIG1fcHJpdmF0ZS0+c2V0UG9zdGVyKHVybCk7CiB9ICAgIAotI2VuZGlmCiAKIHZvaWQg
TWVkaWFQbGF5ZXI6OmNhbmNlbExvYWQoKQogewogICAgIG1fcHJpdmF0ZS0+Y2FuY2VsTG9hZCgp
OwogfSAgICAKIAordm9pZCBNZWRpYVBsYXllcjo6cHJlcGFyZVRvUGxheSgpCit7CisgICAgbV9w
cml2YXRlLT5wcmVwYXJlVG9QbGF5KCk7Cit9CisgICAgCiB2b2lkIE1lZGlhUGxheWVyOjpwbGF5
KCkKIHsKICAgICBtX3ByaXZhdGUtPnBsYXkoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmgJKHJldmlzaW9uIDQ5MDIxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsNiArMTI3LDcgQEAg
cHVibGljOgogICAgIGJvb2wgdmlzaWJsZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0VmlzaWJsZShi
b29sKTsKICAgICAKKyAgICB2b2lkIHByZXBhcmVUb1BsYXkoKTsKICAgICB2b2lkIHBsYXkoKTsK
ICAgICB2b2lkIHBhdXNlKCk7ICAgIAogICAgIApAQCAtMTg2LDggKzE4NywxMCBAQCBwdWJsaWM6
CiAKICAgICBNZWRpYVBsYXllckNsaWVudCogbWVkaWFQbGF5ZXJDbGllbnQoKSBjb25zdCB7IHJl
dHVybiBtX21lZGlhUGxheWVyQ2xpZW50OyB9CiAKKyAgICBib29sIGNhbkxvYWRQb3N0ZXIoKSBj
b25zdDsKKyAgICB2b2lkIHNldFBvc3Rlcihjb25zdCBTdHJpbmcmKTsKKwogI2lmIEVOQUJMRShQ
TFVHSU5fUFJPWFlfRk9SX1ZJREVPKQotICAgIHZvaWQgc2V0UG9zdGVyKGNvbnN0IFN0cmluZyYg
dXJsKTsKICAgICB2b2lkIGRlbGl2ZXJOb3RpZmljYXRpb24oTWVkaWFQbGF5ZXJQcm94eU5vdGlm
aWNhdGlvblR5cGUgbm90aWZpY2F0aW9uKTsKICAgICB2b2lkIHNldE1lZGlhUGxheWVyUHJveHko
V2ViTWVkaWFQbGF5ZXJQcm94eSogcHJveHkpOwogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgJKHJldmlzaW9uIDQ5MDIxKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJiB1cmwpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsTG9hZCgpID0g
MDsKICAgICAKKyAgICB2aXJ0dWFsIHZvaWQgcHJlcGFyZVRvUGxheSgpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBwbGF5KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwYXVzZSgpID0gMDsgICAgCiAK
QEAgLTkzLDggKzk0LDEwIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRBdXRvYnVm
ZmVyKGJvb2wpIHsgfTsKIAorICAgIHZpcnR1YWwgYm9vbCBjYW5Mb2FkUG9zdGVyKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0UG9zdGVyKGNvbnN0IFN0cmlu
ZyYpIHsgfQorCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCi0gICAgdmlydHVh
bCB2b2lkIHNldFBvc3Rlcihjb25zdCBTdHJpbmcmIHVybCkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBkZWxpdmVyTm90aWZpY2F0aW9uKE1lZGlhUGxheWVyUHJveHlOb3RpZmljYXRpb25UeXBlKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldE1lZGlhUGxheWVyUHJveHkoV2ViTWVkaWFQbGF5ZXJQ
cm94eSopID0gMDsKICNlbmRpZgo=
</data>
<flag name="review"
          id="21767"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
    <flag name="commit-queue"
          id="21888"
          type_id="3"
          status="-"
          setter="benm"
    />
          </attachment>
      

    </bug>

</bugzilla>