diff options
Diffstat (limited to 'WebCore/platform/graphics')
-rw-r--r-- | WebCore/platform/graphics/MediaPlayer.cpp | 3 | ||||
-rw-r--r-- | WebCore/platform/graphics/MediaPlayer.h | 8 | ||||
-rw-r--r-- | WebCore/platform/graphics/android/MediaPlayerPrivateAndroid.h | 68 |
3 files changed, 47 insertions, 32 deletions
diff --git a/WebCore/platform/graphics/MediaPlayer.cpp b/WebCore/platform/graphics/MediaPlayer.cpp index 8a9a264..9a7f7b3 100644 --- a/WebCore/platform/graphics/MediaPlayer.cpp +++ b/WebCore/platform/graphics/MediaPlayer.cpp @@ -204,6 +204,9 @@ MediaPlayer::MediaPlayer(MediaPlayerClient* client) , m_muted(false) , m_preservesPitch(true) , m_autobuffer(false) +#if PLATFORM(ANDROID) + , m_mediaElementType(Video) +#endif #if ENABLE(PLUGIN_PROXY_FOR_VIDEO) , m_playerProxy(0) #endif diff --git a/WebCore/platform/graphics/MediaPlayer.h b/WebCore/platform/graphics/MediaPlayer.h index 1ca4576..f067cc9 100644 --- a/WebCore/platform/graphics/MediaPlayer.h +++ b/WebCore/platform/graphics/MediaPlayer.h @@ -143,6 +143,11 @@ public: IntSize naturalSize(); bool hasVideo() const; bool hasAudio() const; +#if PLATFORM(ANDROID) + enum MediaElementType { Video, Audio }; + void setMediaElementType(MediaElementType type) { m_mediaElementType = type; } + MediaElementType mediaElementType() { return m_mediaElementType; } +#endif void setFrameView(FrameView* frameView) { m_frameView = frameView; } FrameView* frameView() { return m_frameView; } @@ -254,6 +259,9 @@ private: bool m_muted; bool m_preservesPitch; bool m_autobuffer; +#if PLATFORM(ANDROID) + MediaElementType m_mediaElementType; +#endif #if ENABLE(PLUGIN_PROXY_FOR_VIDEO) WebMediaPlayerProxy* m_playerProxy; // not owned or used, passed to m_private #endif diff --git a/WebCore/platform/graphics/android/MediaPlayerPrivateAndroid.h b/WebCore/platform/graphics/android/MediaPlayerPrivateAndroid.h index 19bfcd1..b97691f 100644 --- a/WebCore/platform/graphics/android/MediaPlayerPrivateAndroid.h +++ b/WebCore/platform/graphics/android/MediaPlayerPrivateAndroid.h @@ -1,5 +1,5 @@ /* - * Copyright 2009, The Android Open Source Project + * Copyright 2009,2010 The Android Open Source Project * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -31,73 +31,77 @@ class SkBitmap; #include "MediaPlayerPrivate.h" +#include "TimeRanges.h" namespace WebCore { class MediaPlayerPrivate : public MediaPlayerPrivateInterface { public: - ~MediaPlayerPrivate(); + virtual ~MediaPlayerPrivate(); static void registerMediaEngine(MediaEngineRegistrar); - virtual void load(const String& url); - virtual void cancelLoad(); + virtual void load(const String& url) = 0; + virtual void cancelLoad() { } - virtual void play(); + virtual void play() = 0; virtual void pause(); - virtual IntSize naturalSize() const; + virtual IntSize naturalSize() const { return m_naturalSize; } - virtual bool hasAudio() const; - virtual bool hasVideo() const; + virtual bool hasAudio() const { return false; } + virtual bool hasVideo() const { return false; } virtual void setVisible(bool); - virtual float duration() const; + virtual float duration() const { return m_duration; } - virtual float currentTime() const; + virtual float currentTime() const { return m_currentTime; }; virtual void seek(float time); - virtual bool seeking() const; + virtual bool seeking() const { return false; } - virtual void setEndTime(float time); + virtual void setEndTime(float time) { } - virtual void setRate(float); - virtual bool paused() const; + virtual void setRate(float) { } + virtual bool paused() const { return m_paused; } - virtual void setVolume(float); + virtual void setVolume(float) { } - virtual MediaPlayer::NetworkState networkState() const; - virtual MediaPlayer::ReadyState readyState() const; + virtual MediaPlayer::NetworkState networkState() const { return m_networkState; } + virtual MediaPlayer::ReadyState readyState() const { return m_readyState; } - virtual float maxTimeSeekable() const; - virtual PassRefPtr<TimeRanges> buffered() const; + virtual float maxTimeSeekable() const { return 0; } + virtual PassRefPtr<TimeRanges> buffered() const { return TimeRanges::create(); } - virtual int dataRate() const; + virtual int dataRate() const { return 0; } virtual bool totalBytesKnown() const { return totalBytes() > 0; } - virtual unsigned totalBytes() const; - virtual unsigned bytesLoaded() const; + virtual unsigned totalBytes() const { return 0; } + virtual unsigned bytesLoaded() const { return 0; } - virtual void setSize(const IntSize&); + virtual void setSize(const IntSize&) { } - virtual bool canLoadPoster() const { return true; } - virtual void setPoster(const String&); + virtual bool canLoadPoster() const { return false; } + virtual void setPoster(const String&) { } virtual void prepareToPlay(); - virtual void paint(GraphicsContext*, const IntRect&); + virtual void paint(GraphicsContext*, const IntRect&) { } - void onPrepared(int duration, int width, int height); + virtual void onPrepared(int duration, int width, int height) { } void onEnded(); - void onPosterFetched(SkBitmap*); + virtual void onPosterFetched(SkBitmap*) { } + void onBuffering(int percent); void onTimeupdate(int position); -private: +protected: // Android-specific methods and fields. static MediaPlayerPrivateInterface* create(MediaPlayer* player); - static void getSupportedTypes(HashSet<String>&); - static MediaPlayer::SupportsType supportsType(const String& type, const String& codecs); + static void getSupportedTypes(HashSet<String>&) { } + static MediaPlayer::SupportsType supportsType(const String& type, const String& codecs) { + return MediaPlayer::IsNotSupported; + } MediaPlayerPrivate(MediaPlayer *); - void createJavaPlayerIfNeeded(); + virtual void createJavaPlayerIfNeeded() { } MediaPlayer* m_player; String m_url; |