Bug 39464
Summary: | [Qt] QtWebKit::WebCore Win32 does not load HTML5 <video> for Phonon DS9 backend | ||
---|---|---|---|
Product: | WebKit | Reporter: | Nikola Trajic <Nikola.Trajic> |
Component: | Media | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED INVALID | ||
Severity: | Normal | CC: | andersca, benjamin, ryukbk, thierry.bastian |
Priority: | P5 | Keywords: | Qt, QtTriaged |
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | Windows XP | ||
URL: | http://chaos.troll.no/~tavestbo/webkit/mediaelement/ |
Nikola Trajic
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 | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Nikola Trajic
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
Please follow http://trac.webkit.org/wiki/QtWebKitBugs when reporing bugs here.