<?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>53325</bug_id>
          
          <creation_ts>2011-01-28 12:53:57 -0800</creation_ts>
          <short_desc>[Qt] canvas.drawImage(HTMLVideoElement) doesn&apos;t work with Qt Multimedia backend</short_desc>
          <delta_ts>2011-02-01 05:50:51 -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>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kalle Vahlman">zuh</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>max.hong.shen</cc>
    
    <cc>nancy.piedra</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>341667</commentid>
    <comment_count>0</comment_count>
    <who name="Kalle Vahlman">zuh</who>
    <bug_when>2011-01-28 12:53:57 -0800</bug_when>
    <thetext>Currently, the 2D canvas API call drawImage() with an video element fails to render the video frame to the canvas with the Qt Multimedia backend.

The drawImage() call eventually ends up calling MediaPlayerPrivate::paintCurrentFrameInContext() which simply delegates to paint().

There seems to be two issues with this:

 - When AC is enabled, the paint() call is a no-op, thus the rendering never happens.
 - Even without AC, rendering the scene to the context painter doesn&apos;t work (not sure why this is).

A simple solution for this is to reimplement the paintCurrentFrameInContext() and paint the QGraphicsVideoItem directly, so the video scene state doesn&apos;t affect the rendering (I suppose that&apos;s the problem currently).

Patch incoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341668</commentid>
    <comment_count>1</comment_count>
      <attachid>80485</attachid>
    <who name="Kalle Vahlman">zuh</who>
    <bug_when>2011-01-28 12:55:51 -0800</bug_when>
    <thetext>Created attachment 80485
Patch to fix drawImage(HTMLVideoElement) for Qt Multimedia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341911</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-01-28 18:05:08 -0800</bug_when>
    <thetext>Please follow http://trac.webkit.org/wiki/QtWebKitBugs when reporing bug here (missing Qt keyworkd).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342220</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-30 04:02:19 -0800</bug_when>
    <thetext>Looks sane to me, but a Qt person shoudl really look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342918</commentid>
    <comment_count>4</comment_count>
      <attachid>80485</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-01-31 17:00:10 -0800</bug_when>
    <thetext>Comment on attachment 80485
Patch to fix drawImage(HTMLVideoElement) for Qt Multimedia

Kool fix! r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342981</commentid>
    <comment_count>5</comment_count>
      <attachid>80485</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-31 19:46:31 -0800</bug_when>
    <thetext>Comment on attachment 80485
Patch to fix drawImage(HTMLVideoElement) for Qt Multimedia

Clearing flags on attachment: 80485

Committed r77207: &lt;http://trac.webkit.org/changeset/77207&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342982</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-31 19:46:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343175</commentid>
    <comment_count>7</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-02-01 05:50:51 -0800</bug_when>
    <thetext>Nice work. How http://www.craftymind.com/factory/html5video/CanvasVideo.html looks with the patch? :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80485</attachid>
            <date>2011-01-28 12:55:51 -0800</date>
            <delta_ts>2011-01-31 19:46:30 -0800</delta_ts>
            <desc>Patch to fix drawImage(HTMLVideoElement) for Qt Multimedia</desc>
            <filename>drawimage.patch</filename>
            <type>text/plain</type>
            <size>2453</size>
            <attacher name="Kalle Vahlman">zuh</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Y2M1ODRhMC4uN2NmODhjMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0wMS0yNyAgS2FsbGUgVmFobG1h
biAgPGthbGxlLnZhaGxtYW5AbW92aWFsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIGNhbnZhcy5kcmF3SW1hZ2UoSFRNTFZpZGVvRWxl
bWVudCkgZG9lc24ndCB3b3JrIHdpdGggUXQgTXVsdGltZWRpYSBiYWNrZW5kCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzMyNQorCisgICAgICAgIFJl
aW1wbGVtZW50IHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KCkgcmF0aGVyIHRoYW4gZGVsZWdh
dGUgdGhlCisgICAgICAgIHJlbmRlcmluZyB0byBwYWludCgpIHRvIG1ha2Ugc3VyZSB3ZSByZWFs
bHkgZG8gZ2V0IHRoZSB2aWRlbyBmcmFtZQorICAgICAgICBjb250ZW50IGludG8gdGhlIEdyYXBo
aWNzQ29udGV4dCwgcmVnYXJkbGVzcyBvZiBhY2NlbGVyYXRlZAorICAgICAgICBjb21wb3NpdGlu
ZyBhbmQgdGhlIHZpZGVvIHNjZW5lIHN0YXRlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlUXQ6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5oOgorCiAyMDExLTAxLTIw
ICBDaGFuZyBTaHUgIDxjaGFuZy5zaHVAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9N
ZWRpYVBsYXllclByaXZhdGVRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01l
ZGlhUGxheWVyUHJpdmF0ZVF0LmNwcAppbmRleCAyYzU2MjE1Li5iNjMwMTMyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0LmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0LmNw
cApAQCAtNjEyLDYgKzYxMiwyMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVF0OjpwYWludChH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgbV92aWRl
b1NjZW5lLT5yZW5kZXIocGFpbnRlciwgUVJlY3RGKFFSZWN0KHJlY3QpKSwgbV92aWRlb0l0ZW0t
PnNjZW5lQm91bmRpbmdSZWN0KCkpOwogfQogCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVF0Ojpw
YWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0
IEludFJlY3QmIHJlY3QpCit7CisgICAgaWYgKGNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX2lzVmlzaWJsZSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgLy8gR3JhYiB0aGUgcGFpbnRlciBhbmQgd2lkZ2V0CisgICAgUVBhaW50ZXIqIHBh
aW50ZXIgPSBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKTsKKworICAgIC8vIFJlbmRlciB0aGUg
dmlkZW8sIHVzaW5nIHRoZSBpdGVtIGFzIGl0IG1pZ2h0IG5vdCBiZSBpbiB0aGUgc2NlbmUKKyAg
ICBtX3ZpZGVvSXRlbS0+cGFpbnQocGFpbnRlciwgMCwgMCk7Cit9CisKIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlUXQ6OnJlcGFpbnQoKQogewogICAgIG1fd2ViQ29yZVBsYXllci0+cmVwYWludCgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclBy
aXZhdGVRdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZh
dGVRdC5oCmluZGV4IDZlNzFjMDAuLmEyZDc4ZDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0LmgKQEAgLTg3LDYgKzg3LDggQEAg
cHVibGljOgogICAgIHZvaWQgc2V0U2l6ZShjb25zdCBJbnRTaXplJik7CiAKICAgICB2b2lkIHBh
aW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKKyAgICAvLyByZWltcGxlbWVu
dGVkIGZvciBjYW52YXMgZHJhd0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQpCisgICAgdm9pZCBwYWlu
dEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7
CiAKICAgICBib29sIHN1cHBvcnRzRnVsbHNjcmVlbigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>