| Index: webkit/media/android/webmediaplayer_proxy_android.h
|
| diff --git a/webkit/media/android/webmediaplayer_proxy_android.h b/webkit/media/android/webmediaplayer_proxy_android.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2b491ffd88a14ef575971f07a954c8d98098cfc9
|
| --- /dev/null
|
| +++ b/webkit/media/android/webmediaplayer_proxy_android.h
|
| @@ -0,0 +1,74 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef WEBKIT_MEDIA_ANDROID_WEBMEDIAPLAYER_PROXY_ANDROID_H_
|
| +#define WEBKIT_MEDIA_ANDROID_WEBMEDIAPLAYER_PROXY_ANDROID_H_
|
| +
|
| +#include "base/memory/ref_counted.h"
|
| +#include "base/memory/weak_ptr.h"
|
| +
|
| +namespace base {
|
| +class MessageLoopProxy;
|
| +}
|
| +
|
| +namespace webkit_media {
|
| +
|
| +class WebMediaPlayerAndroid;
|
| +
|
| +// Acts as a thread proxy between media::MediaPlayerBridge and
|
| +// WebMediaPlayerAndroid so that callbacks are posted onto the render thread.
|
| +class WebMediaPlayerProxyAndroid
|
| + : public base::RefCountedThreadSafe<WebMediaPlayerProxyAndroid> {
|
| + public:
|
| + WebMediaPlayerProxyAndroid(
|
| + const scoped_refptr<base::MessageLoopProxy>& render_loop,
|
| + base::WeakPtr<WebMediaPlayerAndroid> webmediaplayer);
|
| +
|
| + // Callbacks from media::MediaPlayerBridge to WebMediaPlayerAndroid.
|
| + void MediaErrorCallback(int error_type);
|
| + void MediaInfoCallback(int info_type);
|
| + void VideoSizeChangedCallback(int width, int height);
|
| + void BufferingUpdateCallback(int percent);
|
| + void PlaybackCompleteCallback();
|
| + void SeekCompleteCallback();
|
| + void MediaPreparedCallback();
|
| +
|
| + private:
|
| + friend class base::RefCountedThreadSafe<WebMediaPlayerProxyAndroid>;
|
| + virtual ~WebMediaPlayerProxyAndroid();
|
| +
|
| + // Notify |webmediaplayer_| that an error has occured.
|
| + void MediaErrorTask(int error_type);
|
| +
|
| + // Notify |webmediaplayer_| that some info has been received from
|
| + // media::MediaPlayerBridge.
|
| + void MediaInfoTask(int info_type);
|
| +
|
| + // Notify |webmediaplayer_| that the video size has changed.
|
| + void VideoSizeChangedTask(int width, int height);
|
| +
|
| + // Notify |webmediaplayer_| that an update in buffering has occured.
|
| + void BufferingUpdateTask(int percent);
|
| +
|
| + // Notify |webmediaplayer_| that playback has completed.
|
| + void PlaybackCompleteTask();
|
| +
|
| + // Notify |webmediaplayer_| that seek has completed.
|
| + void SeekCompleteTask();
|
| +
|
| + // Notify |webmediaplayer_| that media has been prepared successfully.
|
| + void MediaPreparedTask();
|
| +
|
| + // The render message loop where WebKit lives.
|
| + scoped_refptr<base::MessageLoopProxy> render_loop_;
|
| +
|
| + // The WebMediaPlayerAndroid object all the callbacks should be send to.
|
| + base::WeakPtr<WebMediaPlayerAndroid> webmediaplayer_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerProxyAndroid);
|
| +};
|
| +
|
| +} // namespace webkit_media
|
| +
|
| +#endif // WEBKIT_MEDIA_ANDROID_WEBMEDIAPLAYER_PROXY_ANDROID_H_
|
|
|