<?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>30000</bug_id>
          
          <creation_ts>2009-10-02 01:32:13 -0700</creation_ts>
          <short_desc>[GStreamer] Check return values of gst_element_set_state()</short_desc>
          <delta_ts>2010-01-14 03:41:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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="Sebastian Dröge (slomo)">slomo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>151790</commentid>
    <comment_count>0</comment_count>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-10-02 01:32:13 -0700</bug_when>
    <thetext>Hi,
currently the media player doesn&apos;t check the return values of gst_element_set_state(). It should really do that.

If it&apos;s SUCCESS, NO_PREROLL or ASYNC everything is fine (errors will be posted as bus message), if it&apos;s FAILURE things should fail immediately (there will be no error messages on the bus in the worst case).

This is only for state changes from NULL or READY to PAUSED or PLAYING. Downwards state changes can fail but you&apos;re usually not interested in that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169233</commentid>
    <comment_count>1</comment_count>
      <attachid>44398</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-12-07 03:29:38 -0800</bug_when>
    <thetext>Created attachment 44398
Check return values of gst_element_set_state()

when going from READY/NULL to PAUSED or PLAYING.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169234</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-07 03:31:55 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44398 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169737</commentid>
    <comment_count>3</comment_count>
      <attachid>44398</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-08 11:26:29 -0800</bug_when>
    <thetext>Comment on attachment 44398
Check return values of gst_element_set_state()

It seems play and pause could share all of their code here in a single method which took either GST_STATE_PAUSED or GST_STATE_PLAYING.

I think that would be cleaner long-term.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169932</commentid>
    <comment_count>4</comment_count>
      <attachid>44519</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-12-09 01:05:43 -0800</bug_when>
    <thetext>Created attachment 44519
Check for state change failure when going from READY/NULL to PAUSED or PLAYING.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171520</commentid>
    <comment_count>5</comment_count>
      <attachid>44519</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-14 13:01:37 -0800</bug_when>
    <thetext>Comment on attachment 44519
Check for state change failure when going from READY/NULL to PAUSED or PLAYING.

OK.  There is one slight change in logging behavior here, it won&apos;t log Play if the switch to play fails.  I don&apos;t think that matters though.

Style violation:
 121             bool changePipelineState(GstState state);
we don&apos;t name arguments when the name doesn&apos;t add anything.

Shouldn&apos;t changePipelineState be private?

And why is it called &quot;pipeline state&quot;?

It would appear that this function only works for either PLAY or PAUSE, but I don&apos;t see you asserting that anywhere.  You might want to ASSERT the inputs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171881</commentid>
    <comment_count>6</comment_count>
      <attachid>44879</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-12-15 08:55:15 -0800</bug_when>
    <thetext>Created attachment 44879
Check for state change failure when going from READY/NULL to PAUSED or PLAYING.

Check for state change failure

When going from READY/NULL to PAUSED or PLAYING.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171883</commentid>
    <comment_count>7</comment_count>
      <attachid>44879</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-12-15 08:56:31 -0800</bug_when>
    <thetext>Comment on attachment 44879
Check for state change failure when going from READY/NULL to PAUSED or PLAYING.

Sorry that one is broken</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171886</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-12-15 09:01:47 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 44519 [details])
&gt; OK.  There is one slight change in logging behavior here, it won&apos;t log Play if
&gt; the switch to play fails.  I don&apos;t think that matters though.
&gt; 
&gt; Style violation:
&gt;  121             bool changePipelineState(GstState state);
&gt; we don&apos;t name arguments when the name doesn&apos;t add anything.

Well the variable is used in the code, I will name it newState, which adds &quot;new&quot; :)

&gt; 
&gt; Shouldn&apos;t changePipelineState be private?
&gt; 

It is already a private method. Did I do something wrong?

&gt; And why is it called &quot;pipeline state&quot;?
&gt; 

This is the GStreamer vocabulary, the pipeline is composed of elements, linked etween themselves. To start playback you set the pipeline state to PLAYING, the state change propagates through the elements of the pipeline.

&gt; It would appear that this function only works for either PLAY or PAUSE, but I
&gt; don&apos;t see you asserting that anywhere.  You might want to ASSERT the inputs.

Will do ;)

Thanks for  the review, I will send a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171890</commentid>
    <comment_count>9</comment_count>
      <attachid>44880</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-12-15 09:06:39 -0800</bug_when>
    <thetext>Created attachment 44880
Check for state change failure when going from READY/NULL to PAUSED or PLAYING.

When going from READY/NULL to PAUSED or PLAYING.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172232</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-16 02:02:44 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44880 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180658</commentid>
    <comment_count>11</comment_count>
      <attachid>44880</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-01-14 03:14:38 -0800</bug_when>
    <thetext>Comment on attachment 44880
Check for state change failure when going from READY/NULL to PAUSED or PLAYING.

Makes sense, although I guess it would be best to somehow inform the user instead of silently doing nothing? It can be done in a follow-up though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180662</commentid>
    <comment_count>12</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-01-14 03:41:06 -0800</bug_when>
    <thetext>Landed as r53255. Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44398</attachid>
            <date>2009-12-07 03:29:38 -0800</date>
            <delta_ts>2009-12-09 01:05:43 -0800</delta_ts>
            <desc>Check return values of gst_element_set_state()</desc>
            <filename>-GStreamer-Check-return-values-of-gstelementsetsta.patch</filename>
            <type>text/plain</type>
            <size>2785</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSAzMDk3NGRkYTI3YzY4ZDhiZjQ2MzY0YTQ4NWM3MjI4YTQ2N2NhOWI5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBNb24sIDcgRGVjIDIwMDkgMTI6Mjg6MjcgKzAxMDAKU3ViamVjdDogW1BBVENIXSAg
ICAgICAgIFtHU3RyZWFtZXJdIENoZWNrIHJldHVybiB2YWx1ZXMgb2YgZ3N0X2VsZW1lbnRfc2V0
X3N0YXRlKCkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMwMDAwCgogICAgICAgIENoZWNrIGZvciBzdGF0ZSBjaGFuZ2UgZmFpbHVyZSB3aGVuIGdvaW5n
IGZyb20gUkVBRFkvTlVMTCB0bwogICAgICAgIFBBVVNFRCBvciBQTEFZSU5HLgoKICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgog
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBsYXkpOgogICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBhdXNlKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKysrKysrKysrKysrKysKIC4u
Li9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCAgIHwgICAgOCAr
KysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggODJmNTI4NS4uNDJlYjVlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0xMi0wNyAgUGhpbGlwcGUg
Tm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0dTdHJlYW1lcl0gQ2hlY2sgcmV0dXJuIHZhbHVlcyBv
ZiBnc3RfZWxlbWVudF9zZXRfc3RhdGUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzAwMDAKKworICAgICAgICBDaGVjayBmb3Igc3RhdGUgY2hhbmdl
IGZhaWx1cmUgd2hlbiBnb2luZyBmcm9tIFJFQURZL05VTEwgdG8KKyAgICAgICAgUEFVU0VEIG9y
IFBMQVlJTkcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZTo6cGxheSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBhdXNlKToK
KwogMjAwOS0xMi0wNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAK
aW5kZXggZDMwYzk0Mi4uNDE5YTc0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0y
MzgsNyArMjM4LDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnBsYXkoKQogICAgIGdzdF9l
bGVtZW50X2dldF9zdGF0ZShtX3BsYXlCaW4sICZzdGF0ZSwgJnBlbmRpbmcsIDApOwogICAgIGlm
IChzdGF0ZSAhPSBHU1RfU1RBVEVfUExBWUlORyAmJiBwZW5kaW5nICE9IEdTVF9TVEFURV9QTEFZ
SU5HKSB7CiAgICAgICAgIExPR19WRVJCT1NFKE1lZGlhLCAiUGxheSIpOwotICAgICAgICBnc3Rf
ZWxlbWVudF9zZXRfc3RhdGUobV9wbGF5QmluLCBHU1RfU1RBVEVfUExBWUlORyk7CisgICAgICAg
IEdzdFN0YXRlQ2hhbmdlUmV0dXJuIHJldCA9IGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BsYXlC
aW4sIEdTVF9TVEFURV9QTEFZSU5HKTsKKyAgICAgICAgaWYgKHN0YXRlICE9IEdTVF9TVEFURV9Q
QVVTRUQgJiYgcmV0ID09IEdTVF9TVEFURV9DSEFOR0VfRkFJTFVSRSkKKyAgICAgICAgICAgIGxv
YWRpbmdGYWlsZWQoTWVkaWFQbGF5ZXI6OkVtcHR5KTsKICAgICB9CiB9CiAKQEAgLTI1MCw3ICsy
NTIsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6cGF1c2UoKQogICAgIGdzdF9lbGVtZW50
X2dldF9zdGF0ZShtX3BsYXlCaW4sICZzdGF0ZSwgJnBlbmRpbmcsIDApOwogICAgIGlmIChzdGF0
ZSAhPSBHU1RfU1RBVEVfUEFVU0VEICAmJiBwZW5kaW5nICE9IEdTVF9TVEFURV9QQVVTRUQpIHsK
ICAgICAgICAgTE9HX1ZFUkJPU0UoTWVkaWEsICJQYXVzZSIpOwotICAgICAgICBnc3RfZWxlbWVu
dF9zZXRfc3RhdGUobV9wbGF5QmluLCBHU1RfU1RBVEVfUEFVU0VEKTsKKyAgICAgICAgR3N0U3Rh
dGVDaGFuZ2VSZXR1cm4gcmV0ID0gZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbiwgR1NU
X1NUQVRFX1BBVVNFRCk7CisgICAgICAgIGlmIChzdGF0ZSAhPSBHU1RfU1RBVEVfUExBWUlORyAm
JiByZXQgPT0gR1NUX1NUQVRFX0NIQU5HRV9GQUlMVVJFKQorICAgICAgICAgICAgbG9hZGluZ0Zh
aWxlZChNZWRpYVBsYXllcjo6RW1wdHkpOwogICAgIH0KIH0KIAotLSAKMS42LjMuMw==
</data>
<flag name="review"
          id="26236"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44519</attachid>
            <date>2009-12-09 01:05:43 -0800</date>
            <delta_ts>2009-12-15 08:55:15 -0800</delta_ts>
            <desc>Check for state change failure when going from READY/NULL to PAUSED or PLAYING.</desc>
            <filename>Check-for-state-change-failure-when-going-from-REA.patch</filename>
            <type>text/plain</type>
            <size>4142</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA3ZDhiYWE4NTEyZDZiNDgwMjFlN2RmM2VmY2VkZjFlYTk2ZTkwNDdhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBNb24sIDcgRGVjIDIwMDkgMTI6Mjg6MjcgKzAxMDAKU3ViamVjdDogW1BBVENIXSBD
aGVjayBmb3Igc3RhdGUgY2hhbmdlIGZhaWx1cmUgd2hlbiBnb2luZyBmcm9tIFJFQURZL05VTEwg
dG8gUEFVU0VEIG9yIFBMQVlJTkcuCgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAxNyArKysrKysrKysrCiAuLi4vZ3JhcGhpY3MvZ3Rr
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgICB8ICAgMzIgKysrKysrKysrKysrLS0t
LS0tLS0KIC4uLi9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmggICAg
IHwgICAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggMjkzNzAyMC4uYmUyZDY2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0xMi0wOSAgUGhpbGlw
cGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dTdHJlYW1lcl0gQ2hlY2sgcmV0dXJuIHZhbHVl
cyBvZiBnc3RfZWxlbWVudF9zZXRfc3RhdGUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAwMDAKKworICAgICAgICBDaGVjayBmb3Igc3RhdGUgY2hh
bmdlIGZhaWx1cmUgd2hlbiBnb2luZyBmcm9tIFJFQURZL05VTEwgdG8KKyAgICAgICAgUEFVU0VE
IG9yIFBMQVlJTkcuIEFsc28gcmVmYWN0b3JlZCB0aGUgY29tbW9uIGNvZGUgb2YgcGxheSgpIGFu
ZAorICAgICAgICBwYXVzZSgpIHRvIGEgbmV3IHByaXZhdGUgbWV0aG9kIG9mIHRoZSBwbGF5ZXIu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6Y2hhbmdl
UGlwZWxpbmVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBs
YXkpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpwYXVzZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5o
OgorCiAyMDA5LTEyLTA4ICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAK
aW5kZXggYTAyM2RhZS4uZmU1MGM5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0x
MjYsNiArMTI2LDcgQEAgc3RhdGljIGZsb2F0IHBsYXliYWNrUG9zaXRpb24oR3N0RWxlbWVudCog
cGxheWJpbikKICAgICByZXR1cm4gcmV0OwogfQogCisKIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRl
UmVwYWludENhbGxiYWNrKFdlYktpdFZpZGVvU2luayosIEdzdEJ1ZmZlciAqYnVmZmVyLCBNZWRp
YVBsYXllclByaXZhdGUqIHBsYXllclByaXZhdGUpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChH
U1RfSVNfQlVGRkVSKGJ1ZmZlcikpOwpAQCAtMjMwLDI4ICsyMzEsMzMgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGU6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwpCiAgICAgcGF1c2UoKTsKIH0KIAot
dm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnBsYXkoKQorYm9vbCBNZWRpYVBsYXllclByaXZhdGU6
OmNoYW5nZVBpcGVsaW5lU3RhdGUoR3N0U3RhdGUgc3RhdGUpCiB7Ci0gICAgR3N0U3RhdGUgc3Rh
dGU7CisgICAgR3N0U3RhdGUgY3VycmVudFN0YXRlOwogICAgIEdzdFN0YXRlIHBlbmRpbmc7CiAK
LSAgICBnc3RfZWxlbWVudF9nZXRfc3RhdGUobV9wbGF5QmluLCAmc3RhdGUsICZwZW5kaW5nLCAw
KTsKLSAgICBpZiAoc3RhdGUgIT0gR1NUX1NUQVRFX1BMQVlJTkcgJiYgcGVuZGluZyAhPSBHU1Rf
U1RBVEVfUExBWUlORykgewotICAgICAgICBMT0dfVkVSQk9TRShNZWRpYSwgIlBsYXkiKTsKLSAg
ICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbiwgR1NUX1NUQVRFX1BMQVlJTkcp
OworICAgIGdzdF9lbGVtZW50X2dldF9zdGF0ZShtX3BsYXlCaW4sICZjdXJyZW50U3RhdGUsICZw
ZW5kaW5nLCAwKTsKKyAgICBpZiAoY3VycmVudFN0YXRlICE9IHN0YXRlICYmIHBlbmRpbmcgIT0g
c3RhdGUpIHsKKyAgICAgICAgR3N0U3RhdGVDaGFuZ2VSZXR1cm4gcmV0ID0gZ3N0X2VsZW1lbnRf
c2V0X3N0YXRlKG1fcGxheUJpbiwgc3RhdGUpOworICAgICAgICBHc3RTdGF0ZSBwYXVzZWRPclBs
YXlpbmcgPSBzdGF0ZSA9PSBHU1RfU1RBVEVfUExBWUlORyA/IEdTVF9TVEFURV9QQVVTRUQgOiBH
U1RfU1RBVEVfUExBWUlORzsKKyAgICAgICAgaWYgKGN1cnJlbnRTdGF0ZSAhPSBwYXVzZWRPclBs
YXlpbmcgJiYgcmV0ID09IEdTVF9TVEFURV9DSEFOR0VfRkFJTFVSRSkgeworICAgICAgICAgICAg
bG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6RW1wdHkpOworICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICB9CiAgICAgfQorICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZTo6cGF1c2UoKQordm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnBsYXkoKQog
ewotICAgIEdzdFN0YXRlIHN0YXRlOwotICAgIEdzdFN0YXRlIHBlbmRpbmc7CisgICAgaWYgKGNo
YW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX1BMQVlJTkcpKQorICAgICAgICBMT0dfVkVSQk9T
RShNZWRpYSwgIlBsYXkiKTsKK30KIAotICAgIGdzdF9lbGVtZW50X2dldF9zdGF0ZShtX3BsYXlC
aW4sICZzdGF0ZSwgJnBlbmRpbmcsIDApOwotICAgIGlmIChzdGF0ZSAhPSBHU1RfU1RBVEVfUEFV
U0VEICAmJiBwZW5kaW5nICE9IEdTVF9TVEFURV9QQVVTRUQpIHsKK3ZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlOjpwYXVzZSgpCit7CisgICAgaWYgKGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRF
X1BBVVNFRCkpCiAgICAgICAgIExPR19WRVJCT1NFKE1lZGlhLCAiUGF1c2UiKTsKLSAgICAgICAg
Z3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbiwgR1NUX1NUQVRFX1BBVVNFRCk7Ci0gICAg
fQogfQogCiBmbG9hdCBNZWRpYVBsYXllclByaXZhdGU6OmR1cmF0aW9uKCkgY29uc3QKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmgKaW5kZXggNmFiOGVkYi4uYTE4NTEyYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmgKQEAgLTExOCw2ICsxMTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAg
ICB2b2lkIHN0YXJ0RW5kUG9pbnRUaW1lcklmTmVlZGVkKCk7CiAKICAgICAgICAgICAgIHZvaWQg
Y3JlYXRlR1NUUGxheUJpbihTdHJpbmcgdXJsKTsKKyAgICAgICAgICAgIGJvb2wgY2hhbmdlUGlw
ZWxpbmVTdGF0ZShHc3RTdGF0ZSBzdGF0ZSk7CiAKICAgICAgICAgcHJpdmF0ZToKICAgICAgICAg
ICAgIE1lZGlhUGxheWVyKiBtX3BsYXllcjsKLS0gCjEuNi4zLjM=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>44879</attachid>
            <date>2009-12-15 08:55:15 -0800</date>
            <delta_ts>2009-12-15 08:56:30 -0800</delta_ts>
            <desc>Check for state change failure when going from READY/NULL to PAUSED or PLAYING.</desc>
            <filename>Check-for-state-change-failure-when-going-from-REA.patch</filename>
            <type>text/plain</type>
            <size>4285</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSBkMmQ4Y2NiYmFhZWFlZGE2YmVmYjAwNzBjMDYzZTdkZjExY2U1NTc0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBNb24sIDcgRGVjIDIwMDkgMTI6Mjg6MjcgKzAxMDAKU3ViamVjdDogW1BBVENIXSBD
aGVjayBmb3Igc3RhdGUgY2hhbmdlIGZhaWx1cmUgd2hlbiBnb2luZyBmcm9tIFJFQURZL05VTEwg
dG8gUEFVU0VEIG9yIFBMQVlJTkcuCgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAxNyArKysrKysrKysrCiAuLi4vZ3JhcGhpY3MvZ3Rr
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgICB8ICAgMzQgKysrKysrKysrKysrLS0t
LS0tLQogLi4uL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCAgICAg
fCAgICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBlNWYzYmQ3Li5mYzEwNzE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDA5LTEyLTA5ICBQaGlsaXBw
ZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1N0cmVhbWVyXSBDaGVjayByZXR1cm4gdmFsdWVz
IG9mIGdzdF9lbGVtZW50X3NldF9zdGF0ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMDAwMAorCisgICAgICAgIENoZWNrIGZvciBzdGF0ZSBjaGFu
Z2UgZmFpbHVyZSB3aGVuIGdvaW5nIGZyb20gUkVBRFkvTlVMTCB0bworICAgICAgICBQQVVTRUQg
b3IgUExBWUlORy4gQWxzbyByZWZhY3RvcmVkIHRoZSBjb21tb24gY29kZSBvZiBwbGF5KCkgYW5k
CisgICAgICAgIHBhdXNlKCkgdG8gYSBuZXcgcHJpdmF0ZSBtZXRob2Qgb2YgdGhlIHBsYXllci4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpjaGFuZ2VQ
aXBlbGluZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6cGxh
eSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBhdXNlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmg6
CisKIDIwMDktMTItMTUgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKaW5kZXggZmI3OTM3NC4uNTAzYjBkNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3Bw
CkBAIC0xNDEsNiArMTQxLDcgQEAgc3RhdGljIGZsb2F0IHBsYXliYWNrUG9zaXRpb24oR3N0RWxl
bWVudCogcGxheWJpbikKICAgICByZXR1cm4gcmV0OwogfQogCisKIHZvaWQgbWVkaWFQbGF5ZXJQ
cml2YXRlUmVwYWludENhbGxiYWNrKFdlYktpdFZpZGVvU2luayosIEdzdEJ1ZmZlciAqYnVmZmVy
LCBNZWRpYVBsYXllclByaXZhdGUqIHBsYXllclByaXZhdGUpCiB7CiAgICAgZ19yZXR1cm5faWZf
ZmFpbChHU1RfSVNfQlVGRkVSKGJ1ZmZlcikpOwpAQCAtMjQ1LDI4ICsyNDYsMzUgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGU6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwpCiAgICAgcGF1c2UoKTsK
IH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnBsYXkoKQorYm9vbCBNZWRpYVBsYXllclBy
aXZhdGU6OmNoYW5nZVBpcGVsaW5lU3RhdGUoR3N0U3RhdGUgbmV3U3RhdGUpCiB7Ci0gICAgR3N0
U3RhdGUgc3RhdGU7CisgICAgQVNTRVJUKG5ld1N0YXRlID09IEdTVF9TVEFURV9QTEFZSU5HICEh
IG5ld1N0YXRlID09IEdTVF9TVEFURV9QQVVTRUQpOworCisgICAgR3N0U3RhdGUgY3VycmVudFN0
YXRlOwogICAgIEdzdFN0YXRlIHBlbmRpbmc7CiAKLSAgICBnc3RfZWxlbWVudF9nZXRfc3RhdGUo
bV9wbGF5QmluLCAmc3RhdGUsICZwZW5kaW5nLCAwKTsKLSAgICBpZiAoc3RhdGUgIT0gR1NUX1NU
QVRFX1BMQVlJTkcgJiYgcGVuZGluZyAhPSBHU1RfU1RBVEVfUExBWUlORykgewotICAgICAgICBM
T0dfVkVSQk9TRShNZWRpYSwgIlBsYXkiKTsKLSAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRl
KG1fcGxheUJpbiwgR1NUX1NUQVRFX1BMQVlJTkcpOworICAgIGdzdF9lbGVtZW50X2dldF9zdGF0
ZShtX3BsYXlCaW4sICZjdXJyZW50U3RhdGUsICZwZW5kaW5nLCAwKTsKKyAgICBpZiAoY3VycmVu
dFN0YXRlICE9IG5ld1N0YXRlICYmIHBlbmRpbmcgIT0gbmV3U3RhdGUpIHsKKyAgICAgICAgR3N0
U3RhdGVDaGFuZ2VSZXR1cm4gcmV0ID0gZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbiwg
bmV3U3RhdGUpOworICAgICAgICBHc3RTdGF0ZSBwYXVzZWRPclBsYXlpbmcgPSBuZXdTdGF0ZSA9
PSBHU1RfU1RBVEVfUExBWUlORyA/IEdTVF9TVEFURV9QQVVTRUQgOiBHU1RfU1RBVEVfUExBWUlO
RzsKKyAgICAgICAgaWYgKGN1cnJlbnRTdGF0ZSAhPSBwYXVzZWRPclBsYXlpbmcgJiYgcmV0ID09
IEdTVF9TVEFURV9DSEFOR0VfRkFJTFVSRSkgeworICAgICAgICAgICAgbG9hZGluZ0ZhaWxlZChN
ZWRpYVBsYXllcjo6RW1wdHkpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CiAgICAgfQorICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6
cGF1c2UoKQordm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnBsYXkoKQogewotICAgIEdzdFN0YXRl
IHN0YXRlOwotICAgIEdzdFN0YXRlIHBlbmRpbmc7CisgICAgaWYgKGNoYW5nZVBpcGVsaW5lU3Rh
dGUoR1NUX1NUQVRFX1BMQVlJTkcpKQorICAgICAgICBMT0dfVkVSQk9TRShNZWRpYSwgIlBsYXki
KTsKK30KIAotICAgIGdzdF9lbGVtZW50X2dldF9zdGF0ZShtX3BsYXlCaW4sICZzdGF0ZSwgJnBl
bmRpbmcsIDApOwotICAgIGlmIChzdGF0ZSAhPSBHU1RfU1RBVEVfUEFVU0VEICAmJiBwZW5kaW5n
ICE9IEdTVF9TVEFURV9QQVVTRUQpIHsKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpwYXVzZSgp
Cit7CisgICAgaWYgKGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX1BBVVNFRCkpCiAgICAg
ICAgIExPR19WRVJCT1NFKE1lZGlhLCAiUGF1c2UiKTsKLSAgICAgICAgZ3N0X2VsZW1lbnRfc2V0
X3N0YXRlKG1fcGxheUJpbiwgR1NUX1NUQVRFX1BBVVNFRCk7Ci0gICAgfQogfQogCiBmbG9hdCBN
ZWRpYVBsYXllclByaXZhdGU6OmR1cmF0aW9uKCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgK
aW5kZXggOTFjOTdmYy4uNmM1YTRiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTExOCw2
ICsxMTgsNyBAQCBjbGFzcyBNZWRpYVBsYXllclByaXZhdGUgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlIHsKICAgICAgICAgICAgIHZvaWQgc3RhcnRFbmRQb2ludFRpbWVySWZO
ZWVkZWQoKTsKIAogICAgICAgICAgICAgdm9pZCBjcmVhdGVHU1RQbGF5QmluKFN0cmluZyB1cmwp
OworICAgICAgICAgICAgYm9vbCBjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIHN0YXRlKTsK
IAogICAgICAgICBwcml2YXRlOgogICAgICAgICAgICAgTWVkaWFQbGF5ZXIqIG1fcGxheWVyOwot
LSAKMS42LjMuMw==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44880</attachid>
            <date>2009-12-15 09:06:39 -0800</date>
            <delta_ts>2010-01-14 03:40:31 -0800</delta_ts>
            <desc>Check for state change failure when going from READY/NULL to PAUSED or PLAYING.</desc>
            <filename>Check-for-state-change-failure-when-going-from-REA.patch</filename>
            <type>text/plain</type>
            <size>4285</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSAxYzU5MDY0NTIxNDdkMjNjOGUzYzgzMzAxNDNmODQxNjVjNWUwODY2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBNb24sIDcgRGVjIDIwMDkgMTI6Mjg6MjcgKzAxMDAKU3ViamVjdDogW1BBVENIXSBD
aGVjayBmb3Igc3RhdGUgY2hhbmdlIGZhaWx1cmUgd2hlbiBnb2luZyBmcm9tIFJFQURZL05VTEwg
dG8gUEFVU0VEIG9yIFBMQVlJTkcuCgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAxNyArKysrKysrKysrCiAuLi4vZ3JhcGhpY3MvZ3Rr
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgICB8ICAgMzQgKysrKysrKysrKysrLS0t
LS0tLQogLi4uL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCAgICAg
fCAgICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBlNWYzYmQ3Li5mYzEwNzE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDA5LTEyLTA5ICBQaGlsaXBw
ZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1N0cmVhbWVyXSBDaGVjayByZXR1cm4gdmFsdWVz
IG9mIGdzdF9lbGVtZW50X3NldF9zdGF0ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMDAwMAorCisgICAgICAgIENoZWNrIGZvciBzdGF0ZSBjaGFu
Z2UgZmFpbHVyZSB3aGVuIGdvaW5nIGZyb20gUkVBRFkvTlVMTCB0bworICAgICAgICBQQVVTRUQg
b3IgUExBWUlORy4gQWxzbyByZWZhY3RvcmVkIHRoZSBjb21tb24gY29kZSBvZiBwbGF5KCkgYW5k
CisgICAgICAgIHBhdXNlKCkgdG8gYSBuZXcgcHJpdmF0ZSBtZXRob2Qgb2YgdGhlIHBsYXllci4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpjaGFuZ2VQ
aXBlbGluZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6cGxh
eSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBhdXNlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmg6
CisKIDIwMDktMTItMTUgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKaW5kZXggZmI3OTM3NC4uMWJmYjY2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3Bw
CkBAIC0xNDEsNiArMTQxLDcgQEAgc3RhdGljIGZsb2F0IHBsYXliYWNrUG9zaXRpb24oR3N0RWxl
bWVudCogcGxheWJpbikKICAgICByZXR1cm4gcmV0OwogfQogCisKIHZvaWQgbWVkaWFQbGF5ZXJQ
cml2YXRlUmVwYWludENhbGxiYWNrKFdlYktpdFZpZGVvU2luayosIEdzdEJ1ZmZlciAqYnVmZmVy
LCBNZWRpYVBsYXllclByaXZhdGUqIHBsYXllclByaXZhdGUpCiB7CiAgICAgZ19yZXR1cm5faWZf
ZmFpbChHU1RfSVNfQlVGRkVSKGJ1ZmZlcikpOwpAQCAtMjQ1LDI4ICsyNDYsMzUgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGU6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwpCiAgICAgcGF1c2UoKTsK
IH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnBsYXkoKQorYm9vbCBNZWRpYVBsYXllclBy
aXZhdGU6OmNoYW5nZVBpcGVsaW5lU3RhdGUoR3N0U3RhdGUgbmV3U3RhdGUpCiB7Ci0gICAgR3N0
U3RhdGUgc3RhdGU7CisgICAgQVNTRVJUKG5ld1N0YXRlID09IEdTVF9TVEFURV9QTEFZSU5HIHx8
IG5ld1N0YXRlID09IEdTVF9TVEFURV9QQVVTRUQpOworCisgICAgR3N0U3RhdGUgY3VycmVudFN0
YXRlOwogICAgIEdzdFN0YXRlIHBlbmRpbmc7CiAKLSAgICBnc3RfZWxlbWVudF9nZXRfc3RhdGUo
bV9wbGF5QmluLCAmc3RhdGUsICZwZW5kaW5nLCAwKTsKLSAgICBpZiAoc3RhdGUgIT0gR1NUX1NU
QVRFX1BMQVlJTkcgJiYgcGVuZGluZyAhPSBHU1RfU1RBVEVfUExBWUlORykgewotICAgICAgICBM
T0dfVkVSQk9TRShNZWRpYSwgIlBsYXkiKTsKLSAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRl
KG1fcGxheUJpbiwgR1NUX1NUQVRFX1BMQVlJTkcpOworICAgIGdzdF9lbGVtZW50X2dldF9zdGF0
ZShtX3BsYXlCaW4sICZjdXJyZW50U3RhdGUsICZwZW5kaW5nLCAwKTsKKyAgICBpZiAoY3VycmVu
dFN0YXRlICE9IG5ld1N0YXRlICYmIHBlbmRpbmcgIT0gbmV3U3RhdGUpIHsKKyAgICAgICAgR3N0
U3RhdGVDaGFuZ2VSZXR1cm4gcmV0ID0gZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbiwg
bmV3U3RhdGUpOworICAgICAgICBHc3RTdGF0ZSBwYXVzZWRPclBsYXlpbmcgPSBuZXdTdGF0ZSA9
PSBHU1RfU1RBVEVfUExBWUlORyA/IEdTVF9TVEFURV9QQVVTRUQgOiBHU1RfU1RBVEVfUExBWUlO
RzsKKyAgICAgICAgaWYgKGN1cnJlbnRTdGF0ZSAhPSBwYXVzZWRPclBsYXlpbmcgJiYgcmV0ID09
IEdTVF9TVEFURV9DSEFOR0VfRkFJTFVSRSkgeworICAgICAgICAgICAgbG9hZGluZ0ZhaWxlZChN
ZWRpYVBsYXllcjo6RW1wdHkpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CiAgICAgfQorICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6
cGF1c2UoKQordm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnBsYXkoKQogewotICAgIEdzdFN0YXRl
IHN0YXRlOwotICAgIEdzdFN0YXRlIHBlbmRpbmc7CisgICAgaWYgKGNoYW5nZVBpcGVsaW5lU3Rh
dGUoR1NUX1NUQVRFX1BMQVlJTkcpKQorICAgICAgICBMT0dfVkVSQk9TRShNZWRpYSwgIlBsYXki
KTsKK30KIAotICAgIGdzdF9lbGVtZW50X2dldF9zdGF0ZShtX3BsYXlCaW4sICZzdGF0ZSwgJnBl
bmRpbmcsIDApOwotICAgIGlmIChzdGF0ZSAhPSBHU1RfU1RBVEVfUEFVU0VEICAmJiBwZW5kaW5n
ICE9IEdTVF9TVEFURV9QQVVTRUQpIHsKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpwYXVzZSgp
Cit7CisgICAgaWYgKGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX1BBVVNFRCkpCiAgICAg
ICAgIExPR19WRVJCT1NFKE1lZGlhLCAiUGF1c2UiKTsKLSAgICAgICAgZ3N0X2VsZW1lbnRfc2V0
X3N0YXRlKG1fcGxheUJpbiwgR1NUX1NUQVRFX1BBVVNFRCk7Ci0gICAgfQogfQogCiBmbG9hdCBN
ZWRpYVBsYXllclByaXZhdGU6OmR1cmF0aW9uKCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgK
aW5kZXggOTFjOTdmYy4uNmM1YTRiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTExOCw2
ICsxMTgsNyBAQCBjbGFzcyBNZWRpYVBsYXllclByaXZhdGUgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlIHsKICAgICAgICAgICAgIHZvaWQgc3RhcnRFbmRQb2ludFRpbWVySWZO
ZWVkZWQoKTsKIAogICAgICAgICAgICAgdm9pZCBjcmVhdGVHU1RQbGF5QmluKFN0cmluZyB1cmwp
OworICAgICAgICAgICAgYm9vbCBjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIHN0YXRlKTsK
IAogICAgICAgICBwcml2YXRlOgogICAgICAgICAgICAgTWVkaWFQbGF5ZXIqIG1fcGxheWVyOwot
LSAKMS42LjMuMw==
</data>
<flag name="review"
          id="26897"
          type_id="1"
          status="+"
          setter="xan.lopez"
    />
          </attachment>
      

    </bug>

</bugzilla>