summaryrefslogtreecommitdiff
path: root/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h')
-rw-r--r--Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h48
1 files changed, 33 insertions, 15 deletions
diff --git a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
index d85e0d1fc..3afb1f5e5 100644
--- a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
+++ b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
@@ -35,12 +35,11 @@
#include "AudioSourceProvider.h"
#include "MediaPlayerPrivate.h"
-#include "VideoFrameChromium.h"
-#include "VideoFrameProvider.h"
-#include "VideoLayerChromium.h"
#include "WebAudioSourceProviderClient.h"
#include "WebMediaPlayerClient.h"
#include "WebStreamTextureClient.h"
+#include <public/WebVideoFrameProvider.h>
+#include <public/WebVideoLayer.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
@@ -49,14 +48,13 @@ namespace WebCore { class AudioSourceProviderClient; }
namespace WebKit {
class WebAudioSourceProvider;
-class WebMediaElement;
class WebMediaPlayer;
// This class serves as a bridge between WebCore::MediaPlayer and
// WebKit::WebMediaPlayer.
class WebMediaPlayerClientImpl : public WebCore::MediaPlayerPrivateInterface
#if USE(ACCELERATED_COMPOSITING)
- , public WebCore::VideoFrameProvider
+ , public WebVideoFrameProvider
#endif
, public WebMediaPlayerClient
, public WebStreamTextureClient {
@@ -66,8 +64,6 @@ public:
static void setIsEnabled(bool);
static void registerSelf(WebCore::MediaEngineRegistrar);
- static WebMediaPlayerClientImpl* fromMediaElement(const WebMediaElement* element);
-
// Returns the encapsulated WebKit::WebMediaPlayer.
WebMediaPlayer* mediaPlayer() const;
@@ -89,6 +85,10 @@ public:
virtual WebMediaPlayer::Preload preload() const;
virtual void sourceOpened();
virtual WebKit::WebURL sourceURL() const;
+ virtual void keyAdded(const WebString& keySystem, const WebString& sessionId);
+ virtual void keyError(const WebString& keySystem, const WebString& sessionId, MediaKeyErrorCode, unsigned short systemCode);
+ virtual void keyMessage(const WebString& keySystem, const WebString& sessionId, const unsigned char* message, unsigned messageLength);
+ virtual void keyNeeded(const WebString& keySystem, const WebString& sessionId, const unsigned char* initData, unsigned initDataLength);
virtual void disableAcceleratedCompositing();
// MediaPlayerPrivateInterface methods:
@@ -134,6 +134,10 @@ public:
virtual unsigned droppedFrameCount() const;
virtual unsigned audioDecodedByteCount() const;
virtual unsigned videoDecodedByteCount() const;
+#if USE(NATIVE_FULLSCREEN_VIDEO)
+ virtual bool enterFullscreen() const;
+ virtual void exitFullscreen();
+#endif
#if ENABLE(WEB_AUDIO)
virtual WebCore::AudioSourceProvider* audioSourceProvider();
@@ -142,30 +146,44 @@ public:
#if USE(ACCELERATED_COMPOSITING)
virtual bool supportsAcceleratedRendering() const;
- // VideoFrameProvider methods:
- virtual void setVideoFrameProviderClient(VideoFrameProvider::Client*);
- virtual WebCore::VideoFrameChromium* getCurrentFrame();
- virtual void putCurrentFrame(WebCore::VideoFrameChromium*);
+ // WebVideoFrameProvider methods:
+ virtual void setVideoFrameProviderClient(WebVideoFrameProvider::Client*);
+ virtual WebVideoFrame* getCurrentFrame();
+ virtual void putCurrentFrame(WebVideoFrame*);
#endif
#if ENABLE(MEDIA_SOURCE)
+ virtual WebCore::MediaPlayer::AddIdStatus sourceAddId(const String& id, const String& type);
+ virtual bool sourceRemoveId(const String&);
virtual bool sourceAppend(const unsigned char* data, unsigned length);
virtual void sourceEndOfStream(WebCore::MediaPlayer::EndOfStreamStatus);
#endif
+#if ENABLE(ENCRYPTED_MEDIA)
+ virtual WebCore::MediaPlayer::MediaKeyException generateKeyRequest(const String& keySystem, const unsigned char* initData, unsigned initDataLength) OVERRIDE;
+ virtual WebCore::MediaPlayer::MediaKeyException addKey(const String& keySystem, const unsigned char* key, unsigned keyLength, const unsigned char* initData, unsigned initDataLength, const String& sessionId) OVERRIDE;
+ virtual WebCore::MediaPlayer::MediaKeyException cancelKeyRequest(const String& keySystem, const String& sessionId) OVERRIDE;
+#endif
+
// WebStreamTextureClient methods:
virtual void didReceiveFrame();
virtual void didUpdateMatrix(const float*);
-private:
+protected:
WebMediaPlayerClientImpl();
+private:
void startDelayedLoad();
void loadInternal();
static PassOwnPtr<WebCore::MediaPlayerPrivateInterface> create(WebCore::MediaPlayer*);
static void getSupportedTypes(WTF::HashSet<WTF::String>&);
+#if ENABLE(ENCRYPTED_MEDIA)
+ static WebCore::MediaPlayer::SupportsType supportsType(
+ const WTF::String& type, const WTF::String& codecs, const String& keySystem);
+#else
static WebCore::MediaPlayer::SupportsType supportsType(
const WTF::String& type, const WTF::String& codecs);
+#endif
#if USE(ACCELERATED_COMPOSITING)
bool acceleratedRenderingInUse();
#endif
@@ -173,15 +191,15 @@ private:
Mutex m_compositingMutex; // Guards m_currentVideoFrame and m_videoFrameProviderClient.
WebCore::MediaPlayer* m_mediaPlayer;
OwnPtr<WebMediaPlayer> m_webMediaPlayer;
- OwnPtr<WebCore::VideoFrameChromium> m_currentVideoFrame;
+ WebVideoFrame* m_currentVideoFrame;
String m_url;
bool m_delayingLoad;
WebCore::MediaPlayer::Preload m_preload;
#if USE(ACCELERATED_COMPOSITING)
- RefPtr<WebCore::VideoLayerChromium> m_videoLayer;
+ WebVideoLayer m_videoLayer;
bool m_supportsAcceleratedCompositing;
bool m_opaque;
- VideoFrameProvider::Client* m_videoFrameProviderClient;
+ WebVideoFrameProvider::Client* m_videoFrameProviderClient;
#endif
static bool m_isEnabled;