| Index: content/renderer/media/rtc_video_decoder.h
|
| diff --git a/content/renderer/media/rtc_video_decoder.h b/content/renderer/media/rtc_video_decoder.h
|
| index 0d99a4c8c802665d7d6c8f6d306e5f54bab96609..9bc9849fa0d3bc5cc98a9036df5ede42b506f895 100644
|
| --- a/content/renderer/media/rtc_video_decoder.h
|
| +++ b/content/renderer/media/rtc_video_decoder.h
|
| @@ -6,6 +6,7 @@
|
| #define CONTENT_RENDERER_MEDIA_RTC_VIDEO_DECODER_H_
|
|
|
| #include <deque>
|
| +#include <list>
|
| #include <map>
|
| #include <set>
|
| #include <utility>
|
| @@ -13,9 +14,7 @@
|
| #include "base/basictypes.h"
|
| #include "base/gtest_prod_util.h"
|
| #include "base/memory/weak_ptr.h"
|
| -#include "base/message_loop/message_loop.h"
|
| #include "base/synchronization/lock.h"
|
| -#include "base/synchronization/waitable_event.h"
|
| #include "base/threading/thread.h"
|
| #include "content/common/content_export.h"
|
| #include "media/base/bitstream_buffer.h"
|
| @@ -25,6 +24,7 @@
|
| #include "third_party/webrtc/modules/video_coding/codecs/interface/video_codec_interface.h"
|
|
|
| namespace base {
|
| +class WaitableEvent;
|
| class MessageLoopProxy;
|
| };
|
|
|
| @@ -43,8 +43,7 @@
|
| // frames are delivered to WebRTC on |vda_message_loop_|.
|
| class CONTENT_EXPORT RTCVideoDecoder
|
| : NON_EXPORTED_BASE(public webrtc::VideoDecoder),
|
| - public media::VideoDecodeAccelerator::Client,
|
| - public base::MessageLoop::DestructionObserver {
|
| + public media::VideoDecodeAccelerator::Client {
|
| public:
|
| virtual ~RTCVideoDecoder();
|
|
|
| @@ -87,10 +86,6 @@
|
| virtual void NotifyResetDone() OVERRIDE;
|
| virtual void NotifyError(media::VideoDecodeAccelerator::Error error) OVERRIDE;
|
|
|
| - // base::DestructionObserver implementation. Called when |vda_message_loop_|
|
| - // is stopped.
|
| - virtual void WillDestroyCurrentMessageLoop() OVERRIDE;
|
| -
|
| private:
|
| class SHMBuffer;
|
| // Metadata of a bitstream buffer.
|
| @@ -116,8 +111,6 @@
|
| RTCVideoDecoder(
|
| const scoped_refptr<media::GpuVideoAcceleratorFactories>& factories);
|
|
|
| - void Initialize(base::WaitableEvent* waiter);
|
| -
|
| // Requests a buffer to be decoded by VDA.
|
| void RequestBufferDecode();
|
|
|
| @@ -157,6 +150,9 @@
|
|
|
| // Tells VDA that a picture buffer can be recycled.
|
| void ReusePictureBuffer(int64 picture_buffer_id, uint32 sync_point);
|
| +
|
| + // Create |vda_| on |vda_loop_proxy_|.
|
| + void CreateVDA(media::VideoCodecProfile profile, base::WaitableEvent* waiter);
|
|
|
| void DestroyTextures();
|
| void DestroyVDA();
|
|
|