RESOLVED INVALID 39464
[Qt] QtWebKit::WebCore Win32 does not load HTML5 <video> for Phonon DS9 backend
https://bugs.webkit.org/show_bug.cgi?id=39464
Summary [Qt] QtWebKit::WebCore Win32 does not load HTML5 <video> for Phonon DS9 backend
Nikola Trajic
Reported 2010-05-20 18:26:35 PDT
Loading embedded HTML5 video source by utilizing QtWebKit with enabled Phonon and Phonon-DS9 backend on Windows XP does not work. Use http://chaos.troll.no/~tavestbo/webkit/mediaelement/ for testing the browser stack. First issue: deleting and recreating the player (when engine is assigned for the first time,based on the codec/con.type or installed_engine_list, it should not be recreated? Please verify validity of the below patch. Second issue: loading the video resource does not retrieve all the media content from the web server. On browser request HTTP GET /~tavestbo/webkit/mediaelement/transformers640.ogg - the web server is responding with one HTTP 200 OK, instead of successive HTTP/1.1. 206 Partial Content retreivals untill all is retrieved, then HTTP 200 OK. Qt browser: The test page http://chaos.troll.no/~tavestbo/webkit/mediaelement/ starts to load the transformers.ogg and gets HTTP/1.1 200 OK from the web server, video widget is constructed in the web page along with controls of playing/stop – with no video content loaded. Comparing with Google's Chrome browser, it's evident that series of partial downloads are not performed. Expected result should be NETWORKSTATE == LOADING, READYSTATE=HAVE_ENOUGH_DATA. (PC Chrome Browser) Instead, Qt browser (after talking to HTMLMediaElement, and MediaObject and MediaPlayer at platform/graphics layer) is starting with NETWORKSTATE==LOADING and READYSTATE==HAVE_METADATA on loadmetadata, and will migrate to READYSTATE== HAVE_NOTHING on loadstart event. NOTE: MS Visual Studio 9 (2008), Windows SDK 6.1, DirectX 9.0c, Qt configured for multimedia, ssl, webkit, phonon, and phonon-backend. Support for codecs: ffdshaw, xiph.org\dshow for vorbis/ogg. --- src\3rdparty\webkit\WebCore\platform\graphics\orig.MediaPlayer.cpp Tue May 18 15:11:36 2010 +++ src\3rdparty\webkit\WebCore\platform\graphics\MediaPlayer.cpp Tue May 18 14:35:57 2010 @@ -242,7 +242,7 @@ // don't delete and recreate the player unless it comes from a different engine if (engine && m_currentMediaEngine != engine) { m_currentMediaEngine = engine; - m_private.clear(); +// m_private.clear(); m_private.set(engine->constructor(this)); #if ENABLE(PLUGIN_PROXY_FOR_VIDEO) m_private->setMediaPlayerProxy(m_playerProxy); )
Attachments
Nikola Trajic
Comment 1 2010-06-01 13:49:57 PDT
Qt\4.6.2\src\network\access new HTML code needs to be ported/integrated into Qt\4.6.2\src\3rdparty\webkit\WebCore\platform\network and C:\Qt\4.6.2\src\3rdparty\webkit\WebCore\platform\network\qt. Chunked transfer as explained in RFC2616 and implemented in: Qt\4.6.2\src\network\access\QHTTPNetworkRequest* /QHTTPNetworkReply* /QHTTPNetworkConn* /QNetworkAccess(Http)Backend* /QNetworkAccessManager* requires intergration into C:\Qt\4.6.2\src\3rdparty\webkit\WebCore\platform\network\qt
Benjamin Poulain
Comment 2 2011-01-30 08:25:18 PST
Please follow http://trac.webkit.org/wiki/QtWebKitBugs when reporing bugs here.
Note You need to log in before you can comment on or make changes to this bug.