diff options
Diffstat (limited to 'content/common/gpu/media/android_video_decode_accelerator.h')
-rw-r--r-- | content/common/gpu/media/android_video_decode_accelerator.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/content/common/gpu/media/android_video_decode_accelerator.h b/content/common/gpu/media/android_video_decode_accelerator.h index 9e6645b..badb64c 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; @@ -241,7 +245,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_; @@ -299,9 +306,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_; |