diff options
Diffstat (limited to 'WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h')
-rw-r--r-- | WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h b/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h index 800ca6d..11eb81b 100644 --- a/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h +++ b/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h @@ -43,11 +43,19 @@ class GraphicsContext; class IntSize; class IntRect; class GStreamerGWorld; +class MediaPlayerPrivateGStreamer; gboolean mediaPlayerPrivateMessageCallback(GstBus* bus, GstMessage* message, gpointer data); void mediaPlayerPrivateVolumeChangedCallback(GObject* element, GParamSpec* pspec, gpointer data); void mediaPlayerPrivateMuteChangedCallback(GObject* element, GParamSpec* pspec, gpointer data); void mediaPlayerPrivateSourceChangedCallback(GObject* element, GParamSpec* pspec, gpointer data); +void mediaPlayerPrivateVideoTagsChangedCallback(GObject* element, gint, MediaPlayerPrivateGStreamer*); +void mediaPlayerPrivateAudioTagsChangedCallback(GObject* element, gint, MediaPlayerPrivateGStreamer*); +gboolean mediaPlayerPrivateAudioTagsChangeTimeoutCallback(MediaPlayerPrivateGStreamer* player); +gboolean mediaPlayerPrivateVideoTagsChangeTimeoutCallback(MediaPlayerPrivateGStreamer* player); + +gboolean mediaPlayerPrivateVolumeChangeTimeoutCallback(MediaPlayerPrivateGStreamer*); +gboolean mediaPlayerPrivateMuteChangeTimeoutCallback(MediaPlayerPrivateGStreamer*); class MediaPlayerPrivateGStreamer : public MediaPlayerPrivateInterface { friend gboolean mediaPlayerPrivateMessageCallback(GstBus* bus, GstMessage* message, gpointer data); @@ -58,8 +66,8 @@ class MediaPlayerPrivateGStreamer : public MediaPlayerPrivateInterface { static void registerMediaEngine(MediaEngineRegistrar); IntSize naturalSize() const; - bool hasVideo() const; - bool hasAudio() const; + bool hasVideo() const { return m_hasVideo; } + bool hasAudio() const { return m_hasAudio; } void load(const String &url); void commitLoad(); @@ -81,13 +89,14 @@ class MediaPlayerPrivateGStreamer : public MediaPlayerPrivateInterface { void setVolume(float); void volumeChanged(); - void volumeChangedTimerFired(Timer<MediaPlayerPrivateGStreamer>*); + void notifyPlayerOfVolumeChange(); bool supportsMuting() const; void setMuted(bool); void muteChanged(); - void muteChangedTimerFired(Timer<MediaPlayerPrivateGStreamer>*); + void notifyPlayerOfMute(); + bool loadDelayed() const { return m_delayingLoad; } void setPreload(MediaPlayer::Preload); void fillTimerFired(Timer<MediaPlayerPrivateGStreamer>*); @@ -121,6 +130,11 @@ class MediaPlayerPrivateGStreamer : public MediaPlayerPrivateInterface { GstElement* pipeline() const { return m_playBin; } bool pipelineReset() const { return m_resetPipeline; } + void videoTagsChanged(gint); + void audioTagsChanged(gint); + void notifyPlayerOfVideoTags(); + void notifyPlayerOfAudioTags(); + private: MediaPlayerPrivateGStreamer(MediaPlayer*); ~MediaPlayerPrivateGStreamer(); @@ -133,10 +147,7 @@ class MediaPlayerPrivateGStreamer : public MediaPlayerPrivateInterface { void cacheDuration(); void updateStates(); - void cancelSeek(); - void endPointTimerFired(Timer<MediaPlayerPrivateGStreamer>*); float maxTimeLoaded() const; - void startEndPointTimerIfNeeded(); void createGSTPlayBin(); bool changePipelineState(GstState state); @@ -176,6 +187,12 @@ class MediaPlayerPrivateGStreamer : public MediaPlayerPrivateInterface { bool m_delayingLoad; bool m_mediaDurationKnown; RefPtr<GStreamerGWorld> m_gstGWorld; + guint m_volumeTimerHandler; + guint m_muteTimerHandler; + bool m_hasVideo; + bool m_hasAudio; + guint m_audioTagsTimerHandler; + guint m_videoTagsTimerHandler; }; } |