| Index: content/common/gpu/media/android_video_decode_accelerator.h
|
| diff --git a/content/common/gpu/media/android_video_decode_accelerator.h b/content/common/gpu/media/android_video_decode_accelerator.h
|
| index 2480ff6cac0f4a94be04b672be606e6c475b1b9f..16bb5c0f42565a4c21bb985008b2f17959364fcc 100644
|
| --- a/content/common/gpu/media/android_video_decode_accelerator.h
|
| +++ b/content/common/gpu/media/android_video_decode_accelerator.h
|
| @@ -18,6 +18,7 @@
|
| #include "base/timer/timer.h"
|
| #include "content/common/content_export.h"
|
| #include "content/common/gpu/media/avda_state_provider.h"
|
| +#include "content/common/gpu/media/gpu_video_decode_accelerator_helpers.h"
|
| #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
|
| #include "gpu/command_buffer/service/gpu_preferences.h"
|
| #include "media/base/android/media_drm_bridge_cdm_context.h"
|
| @@ -110,8 +111,8 @@ class CONTENT_EXPORT AndroidVideoDecodeAccelerator
|
| };
|
|
|
| AndroidVideoDecodeAccelerator(
|
| - const base::WeakPtr<gpu::gles2::GLES2Decoder> decoder,
|
| - const base::Callback<bool(void)>& make_context_current);
|
| + const MakeGLContextCurrentCallback& make_context_current_cb,
|
| + const GetGLES2DecoderCallback& get_gles2_decoder_cb);
|
|
|
| ~AndroidVideoDecodeAccelerator() override;
|
|
|
| @@ -125,7 +126,10 @@ class CONTENT_EXPORT AndroidVideoDecodeAccelerator
|
| void Flush() override;
|
| void Reset() override;
|
| void Destroy() override;
|
| - bool CanDecodeOnIOThread() override;
|
| + bool TryToSetupDecodeOnSeparateThread(
|
| + const base::WeakPtr<Client>& decode_client,
|
| + const scoped_refptr<base::SingleThreadTaskRunner>& decode_task_runner)
|
| + override;
|
|
|
| // AVDAStateProvider implementation:
|
| const gfx::Size& GetSize() const override;
|
| @@ -237,7 +241,10 @@ class CONTENT_EXPORT AndroidVideoDecodeAccelerator
|
| Client* client_;
|
|
|
| // Callback to set the correct gl context.
|
| - base::Callback<bool(void)> make_context_current_;
|
| + MakeGLContextCurrentCallback make_context_current_cb_;
|
| +
|
| + // Callback to get the GLES2Decoder instance.
|
| + GetGLES2DecoderCallback get_gles2_decoder_cb_;
|
|
|
| // Codec type. Used when we configure media codec.
|
| media::VideoCodec codec_;
|
| @@ -287,9 +294,6 @@ class CONTENT_EXPORT AndroidVideoDecodeAccelerator
|
| // NotifyEndOfBitstreamBuffer() before getting output from the bitstream.
|
| std::list<int32_t> bitstreams_notified_in_advance_;
|
|
|
| - // Owner of the GL context. Used to restore the context state.
|
| - base::WeakPtr<gpu::gles2::GLES2Decoder> gl_decoder_;
|
| -
|
| // Backing strategy that we'll use to connect PictureBuffers to frames.
|
| scoped_ptr<BackingStrategy> strategy_;
|
|
|
|
|