Changeset 55987 in webkit


Ignore:
Timestamp:
Mar 15, 2010 1:19:40 AM (14 years ago)
Author:
Philippe Normand
Message:

2010-03-11 Philippe Normand <pnormand@igalia.com>

Reviewed by Gustavo Noronha Silva.

[GStreamer] progressTimer never stopped after EOS
https://bugs.webkit.org/show_bug.cgi?id=36007

Mark the pipeline as paused only if playback hasn't ended
yet. When didEnd() is triggered, the pipeline is paused (but
paused() still returns false) and a timeupdate event is fired,
those 2 conditions allow the HTMLMediaElement to stop the
progressTimer (in updatePlayerState, via mediaPlayerTimeChanged).

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::updateStates):
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r55981 r55987  
     12010-03-11  Philippe Normand  <pnormand@igalia.com>
     2
     3        Reviewed by Gustavo Noronha Silva.
     4
     5        [GStreamer] progressTimer never stopped after EOS
     6        https://bugs.webkit.org/show_bug.cgi?id=36007
     7
     8        Mark the pipeline as paused only if playback hasn't ended
     9        yet. When didEnd() is triggered, the pipeline is paused (but
     10        paused() still returns false) and a timeupdate event is fired,
     11        those 2 conditions allow the HTMLMediaElement to stop the
     12        progressTimer (in updatePlayerState, via mediaPlayerTimeChanged).
     13
     14        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
     15        (WebCore::MediaPlayerPrivate::updateStates):
     16
    1172010-03-14  Chang Shu  <chang.shu@nokia.com>
    218
  • trunk/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp

    r55962 r55987  
    876876                    gst_element_set_state(m_playBin, GST_STATE_PLAYING);
    877877                }
    878             } else if (!m_buffering)
     878            } else if (!m_buffering && (currentTime() < duration())) {
    879879                m_paused = true;
     880            }
    880881        } else if (state == GST_STATE_PLAYING) {
    881882            m_readyState = MediaPlayer::HaveEnoughData;
Note: See TracChangeset for help on using the changeset viewer.