HTMLMediaElement currently calls m_player->pause() when playback stops because the media engine runs out of buffered data. This is unnecessary for downloaded movies because the movie is already "paused", and is harmful for streamed movies because no data is loaded once paused.
Created attachment 54066 [details]
Comment on attachment 54066 [details]
> bool HTMLMediaElement::potentiallyPlaying() const
> - return m_readyState >= HAVE_FUTURE_DATA && couldPlayIfEnoughData();
> + bool pausedToBuffer = m_readyStateMaximum >= HAVE_FUTURE_DATA && m_readyState < HAVE_FUTURE_DATA;
> + return (pausedToBuffer || m_readyState >= HAVE_FUTURE_DATA) && couldPlayIfEnoughData();
I think a comment here would be useful, to explain exactly what pausedToBuffer means.
http://trac.webkit.org/changeset/58107 might have broken Leopard Intel Release (Tests)
Yup. Looks like this broke Tiger and Leopard test machines:
I am looking into it.
Looks like this change has exposed a QuickTime/QTKit bug. Continuing to dig.
Will need to spend some quality time in QuickTime to figure this out, so these tests added to the Leopard and Tiger skipped lists in http://trac.webkit.org/changeset/58109