<?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>36142</bug_id>
          
          <creation_ts>2010-03-15 14:59:06 -0700</creation_ts>
          <short_desc>[Qt] MediaPlayerPrivate: don&apos;t crash when no media services can be found.</short_desc>
          <delta_ts>2010-03-16 09:25: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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jakub Wieczorek">jwieczorek</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>199851</commentid>
    <comment_count>0</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-15 14:59:06 -0700</bug_when>
    <thetext>When no media services for QtMultimedia are installed, Qt outputs this to stderr:
defaultServiceProvider::requestService(): no service found for - &quot;com.nokia.qt.mediaplayer&quot;,
and then in some situations QtWebKit would crash. In my case it was crashing in MediaPlayerPrivate::buffered(), with the following backtrace:

(gdb) frame 0
#0  0x00007ffff70db13b in WebCore::MediaPlayerPrivate::buffered (this=0xc16390) at ../../../WebCore/platform/graphics/qt/MediaPlayerPrivateQt.cpp:303
303         QMediaTimeRange playbackRanges = m_mediaPlayerControl-&gt;availablePlaybackRanges();
#1  0x00007ffff70cc4ed in WebCore::MediaPlayer::buffered (this=0xebc520) at ../../../WebCore/platform/graphics/MediaPlayer.cpp:455
No locals.
#2  0x00007ffff6ff1510 in WebCore::RenderThemeQt::paintMediaSliderTrack (this=0x810510, o=0x13627f8, paintInfo=..., r=...) at ../../../WebCore/platform/qt/RenderThemeQt.cpp:1118
        buffered = {m_ptr = 0x7fffffffb2c0}
        player = 0xebc520
        mediaElement = &lt;value optimized out&gt;
        p = {painter = 0x7fffffffc490, widget = 0x88dbb0, style = 0x7d6060, oldBrush = {d = {d = 0xd25d50}}, oldAntialiasing = true}

m_mediaPlayerControl is not null there, even though it should:

(gdb) print m_mediaPlayerControl
$1 = (class QMediaPlayerControl *) 0x1a400000088</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199853</commentid>
    <comment_count>1</comment_count>
      <attachid>50745</attachid>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-15 15:04:48 -0700</bug_when>
    <thetext>Created attachment 50745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199951</commentid>
    <comment_count>2</comment_count>
      <attachid>50745</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-15 19:02:46 -0700</bug_when>
    <thetext>Comment on attachment 50745
Patch

Test case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200184</commentid>
    <comment_count>3</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-16 07:58:02 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 50745 [details])
&gt; Test case?

The presence of the bug depends on the installed media backends so I am afraid this cannot be easily testable or at least the test would be much more complicated than the fix itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200249</commentid>
    <comment_count>4</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-16 09:25:24 -0700</bug_when>
    <thetext>Committed r56065: http://trac.webkit.org/changeset/56065</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50745</attachid>
            <date>2010-03-15 15:04:48 -0700</date>
            <delta_ts>2010-03-15 19:02:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-MediaPlayerPrivate-Initialize-m_mediaPlayerContro.patch</filename>
            <type>text/plain</type>
            <size>1792</size>
            <attacher name="Jakub Wieczorek">jwieczorek</attacher>
            
              <data encoding="base64">RnJvbSAxZTBiYmVkMjFhNDdjYTIwODcyNmM5NDUyZDM0MDhlZjhkNTEwM2U4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWt1YiBXaWVjem9yZWsgPGp3aWVjem9yZWtAd2Via2l0Lm9y
Zz4KRGF0ZTogVHVlLCAxNiBNYXIgMjAxMCAwMDowNDowNiArMDEwMApTdWJqZWN0OiBbUEFUQ0hd
IFtRdF0gTWVkaWFQbGF5ZXJQcml2YXRlOiBJbml0aWFsaXplIG1fbWVkaWFQbGF5ZXJDb250cm9s
IHRvIDAgdG8gYXZvaWQgY3Jhc2hlcwogd2hlbiBubyBtZWRpYSBzZXJ2aWNlcyBjYW4gYmUgZm91
bmQuCgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAxMiArKysrKysrKysrKysKIC4uLi9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBs
YXllclByaXZhdGVRdC5jcHAgIHwgICAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlv
bnMoKyksIDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwM2QyOTAyLi5hZTUxOTBhIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDEwLTAzLTE1ICBKYWt1YiBXaWVjem9yZWsgIDxqd2llY3pvcmVrQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBNZWRpYVBs
YXllclByaXZhdGU6IEluaXRpYWxpemUgbV9tZWRpYVBsYXllckNvbnRyb2wgdG8gMCB0byBhdm9p
ZCBjcmFzaGVzCisgICAgICAgIHdoZW4gbm8gbWVkaWEgc2VydmljZXMgY2FuIGJlIGZvdW5kLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjE0Mgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpNZWRpYVBsYXllclByaXZh
dGUpOgorCiAyMDEwLTAzLTE1ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0LmNwcAppbmRl
eCA2Njc3ZTcyLi42NmZmZTIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0LmNwcApAQCAtODYsNiArODYsNyBAQCBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZTo6c3VwcG9ydHNUeXBlKGNvbnN0
IFN0cmluZyYgbWltZSwgYwogTWVkaWFQbGF5ZXJQcml2YXRlOjpNZWRpYVBsYXllclByaXZhdGUo
TWVkaWFQbGF5ZXIqIHBsYXllcikKICAgICA6IG1fcGxheWVyKHBsYXllcikKICAgICAsIG1fbWVk
aWFQbGF5ZXIobmV3IFFNZWRpYVBsYXllcikKKyAgICAsIG1fbWVkaWFQbGF5ZXJDb250cm9sKDAp
CiAgICAgLCBtX3ZpZGVvSXRlbShuZXcgUUdyYXBoaWNzVmlkZW9JdGVtKQogICAgICwgbV92aWRl
b1NjZW5lKG5ldyBRR3JhcGhpY3NTY2VuZSkKICAgICAsIG1fbmV0d29ya1N0YXRlKE1lZGlhUGxh
eWVyOjpFbXB0eSkKLS0gCjEuNy4wLjIKCg==
</data>
<flag name="review"
          id="33912"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>