diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-22 03:20:25 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-22 03:20:25 +0000 |
commit | aed4fd65e2faeefe32c6b139a3f1e4047f137ae1 (patch) | |
tree | 2013ef267a30c6933d64991f6626eac1e5959c4c /media/cast/cast_sender_impl.cc | |
parent | db0545b0baa94fd24c8d06824dd90bbccd36dce2 (diff) | |
download | chromium_src-aed4fd65e2faeefe32c6b139a3f1e4047f137ae1.zip chromium_src-aed4fd65e2faeefe32c6b139a3f1e4047f137ae1.tar.gz chromium_src-aed4fd65e2faeefe32c6b139a3f1e4047f137ae1.tar.bz2 |
Cast: Enable use of VideoEncodeAccelerator for hardware video encoding
Cast streaming library is currently using GpuVideoAcceleratorFactories
as the interface to access a VideoEncodeAccelerator. This interface
is not actually correct since Content API in Chrome doesn't provide
that. Moreover GpuVideoAcceleratorFactories also covers accelerated
video decoding which is not needed for a cast sender.
This code removes the use of GpuVideoAcceleratorFactories. It is
replaced by two callbacks. One for allocating a VideoEncodeAccelerator
and the second one allocates base::SharedMemory to store output data.
BUG=354267
Review URL: https://codereview.chromium.org/207593002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258762 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/cast/cast_sender_impl.cc')
-rw-r--r-- | media/cast/cast_sender_impl.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/media/cast/cast_sender_impl.cc b/media/cast/cast_sender_impl.cc index 7a60ffc..0b5a2ac 100644 --- a/media/cast/cast_sender_impl.cc +++ b/media/cast/cast_sender_impl.cc @@ -113,14 +113,16 @@ void CastSenderImpl::InitializeAudio( void CastSenderImpl::InitializeVideo( const VideoSenderConfig& video_config, const CastInitializationCallback& cast_initialization_cb, - const scoped_refptr<GpuVideoAcceleratorFactories>& gpu_factories) { + const CreateVideoEncodeAcceleratorCallback& create_vea_cb, + const CreateVideoEncodeMemoryCallback& create_video_encode_mem_cb) { DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); CHECK(video_config.use_external_encoder || cast_environment_->HasVideoThread()); video_sender_.reset(new VideoSender(cast_environment_, video_config, - gpu_factories, + create_vea_cb, + create_video_encode_mem_cb, cast_initialization_cb, transport_sender_)); |