WebKit Bugzilla
Attachment 369718 Details for
Bug 197834
: [MSE][GStreamer] update the readyState correctly in MediaPlayerPrivateGStreamerMSE
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-197834-20190513111219.patch (text/plain), 3.76 KB, created by
Yacine Bandou
on 2019-05-13 02:12:21 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Yacine Bandou
Created:
2019-05-13 02:12:21 PDT
Size:
3.76 KB
patch
obsolete
>Subversion Revision: 245126 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 31d3917a0b6ecff2955871d24d4162e119dbb344..1ecae14fd39d5d2f9232fff868a2f7f077d5eeb1 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,17 @@ >+2019-05-13 Yacine Bandou <yacine.bandou@softathome.com> >+ >+ [MSE][GStreamer] update the readyState correctly in MediaPlayerPrivateGStreamerMSE >+ https://bugs.webkit.org/show_bug.cgi?id=197834 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ The buffering state and the m_downloadFinished boolean aren't supported in MSE case. >+ When the readyState is already "HaveEnoughData", we don't want to revert it to "HaveFutureData", >+ else the MediaPlayer would send a "canplay" event instead of "canplaythrough". >+ >+ * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp: >+ (WebCore::MediaPlayerPrivateGStreamerMSE::updateStates): >+ > 2019-05-09 Antti Koivisto <antti@apple.com> > > Elements with "display: inline-block" don't have a touch-action region >diff --git a/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp b/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp >index aac38c17b7464b128eba3cf85c323f1cb84b98cb..7181b382b72ac1f146c283a78244bf71cc8c2895 100644 >--- a/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp >+++ b/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp >@@ -520,24 +520,9 @@ void MediaPlayerPrivateGStreamerMSE::updateStates() > m_readyState = MediaPlayer::HaveMetadata; > // FIXME: Should we manage NetworkState too? > GST_DEBUG("m_readyState=%s", dumpReadyState(m_readyState)); >- } else if (m_buffering) { >- if (m_bufferingPercentage == 100) { >- GST_DEBUG("[Buffering] Complete."); >- m_buffering = false; >- m_readyState = MediaPlayer::HaveEnoughData; >- GST_DEBUG("m_readyState=%s", dumpReadyState(m_readyState)); >- m_networkState = m_downloadFinished ? MediaPlayer::Idle : MediaPlayer::Loading; >- } else { >- m_readyState = MediaPlayer::HaveCurrentData; >- GST_DEBUG("m_readyState=%s", dumpReadyState(m_readyState)); >- m_networkState = MediaPlayer::Loading; >- } >- } else if (m_downloadFinished) { >- m_readyState = MediaPlayer::HaveEnoughData; >- GST_DEBUG("m_readyState=%s", dumpReadyState(m_readyState)); >- m_networkState = MediaPlayer::Loaded; > } else { >- m_readyState = MediaPlayer::HaveFutureData; >+ if (m_readyState < MediaPlayer::HaveFutureData) >+ m_readyState = MediaPlayer::HaveFutureData; > GST_DEBUG("m_readyState=%s", dumpReadyState(m_readyState)); > m_networkState = MediaPlayer::Loading; > } >@@ -559,14 +544,14 @@ void MediaPlayerPrivateGStreamerMSE::updateStates() > m_volumeAndMuteInitialized = true; > } > >- if (!seeking() && !m_buffering && !m_paused && m_playbackRate) { >+ if (!seeking() && !m_paused && m_playbackRate) { > GST_DEBUG("[Buffering] Restarting playback."); > changePipelineState(GST_STATE_PLAYING); > } > } else if (state == GST_STATE_PLAYING) { > m_paused = false; > >- if ((m_buffering && !isLiveStream()) || !m_playbackRate) { >+ if (!m_playbackRate) { > GST_DEBUG("[Buffering] Pausing stream for buffering."); > changePipelineState(GST_STATE_PAUSED); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197834
:
369718
|
369955
|
370750