Index: content/common/gpu/media/android_video_encode_accelerator.cc |
diff --git a/content/common/gpu/media/android_video_encode_accelerator.cc b/content/common/gpu/media/android_video_encode_accelerator.cc |
index d84673d6371e0c8a190a2ffc5b6cf4d3e415b4f7..83e60c10a1f1bfd9b0919fa6abf78c366f08e8b2 100644 |
--- a/content/common/gpu/media/android_video_encode_accelerator.cc |
+++ b/content/common/gpu/media/android_video_encode_accelerator.cc |
@@ -12,6 +12,7 @@ |
#include "base/message_loop/message_loop.h" |
#include "base/metrics/histogram.h" |
#include "content/common/gpu/gpu_channel.h" |
+#include "content/common/gpu/media/shared_memory_region.h" |
#include "content/public/common/content_switches.h" |
#include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
#include "media/base/android/media_codec_util.h" |
@@ -419,14 +420,11 @@ void AndroidVideoEncodeAccelerator::DequeueOutput() { |
media::BitstreamBuffer bitstream_buffer = available_bitstream_buffers_.back(); |
available_bitstream_buffers_.pop_back(); |
- scoped_ptr<base::SharedMemory> shm( |
- new base::SharedMemory(bitstream_buffer.handle(), false)); |
- RETURN_ON_FAILURE(shm->Map(bitstream_buffer.size()), |
- "Failed to map SHM", |
- kPlatformFailureError); |
- RETURN_ON_FAILURE(size <= shm->mapped_size(), |
- "Encoded buffer too large: " << size << ">" |
- << shm->mapped_size(), |
+ scoped_ptr<SharedMemoryRegion> shm( |
+ new SharedMemoryRegion(bitstream_buffer, false)); |
+ RETURN_ON_FAILURE(shm->Map(), "Failed to map SHM", kPlatformFailureError); |
+ RETURN_ON_FAILURE(size <= shm->size(), |
+ "Encoded buffer too large: " << size << ">" << shm->size(), |
kPlatformFailureError); |
media_codec_->CopyFromOutputBuffer(buf_index, offset, shm->memory(), size); |