Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(195)

Unified Diff: content/common/gpu/media/gpu_jpeg_decode_accelerator.cc

Issue 1645873002: Use ParamTraits for media::BitstreamBuffer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compiling errors on mac and address review comments Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/gpu/media/gpu_jpeg_decode_accelerator.cc
diff --git a/content/common/gpu/media/gpu_jpeg_decode_accelerator.cc b/content/common/gpu/media/gpu_jpeg_decode_accelerator.cc
index 4b7b00c138e6b72a064051020aea506b9e435fa6..bda7631f30ef9541a543e7e049972c510d07eba5 100644
--- a/content/common/gpu/media/gpu_jpeg_decode_accelerator.cc
+++ b/content/common/gpu/media/gpu_jpeg_decode_accelerator.cc
@@ -41,12 +41,6 @@ void DecodeFinished(scoped_ptr<base::SharedMemory> shm) {
}
bool VerifyDecodeParams(const AcceleratedJpegDecoderMsg_Decode_Params& params) {
- if (params.input_buffer_id < 0) {
- LOG(ERROR) << "BitstreamBuffer id " << params.input_buffer_id
- << " out of range";
- return false;
- }
-
const int kJpegMaxDimension = UINT16_MAX;
if (params.coded_size.IsEmpty() ||
params.coded_size.width() > kJpegMaxDimension ||
@@ -55,11 +49,6 @@ bool VerifyDecodeParams(const AcceleratedJpegDecoderMsg_Decode_Params& params) {
return false;
}
- if (!base::SharedMemory::IsHandleValid(params.input_buffer_handle)) {
- LOG(ERROR) << "invalid input_buffer_handle";
- return false;
- }
-
if (!base::SharedMemory::IsHandleValid(params.output_video_frame_handle)) {
LOG(ERROR) << "invalid output_video_frame_handle";
return false;
@@ -208,34 +197,28 @@ class GpuJpegDecodeAccelerator::MessageFilter : public IPC::MessageFilter {
if (!VerifyDecodeParams(params)) {
NotifyDecodeStatusOnIOThread(
- *route_id, params.input_buffer_id,
+ *route_id, params.input_buffer.id(),
media::JpegDecodeAccelerator::INVALID_ARGUMENT);
- if (base::SharedMemory::IsHandleValid(params.input_buffer_handle))
- base::SharedMemory::CloseHandle(params.input_buffer_handle);
if (base::SharedMemory::IsHandleValid(params.output_video_frame_handle))
base::SharedMemory::CloseHandle(params.output_video_frame_handle);
return;
}
// For handles in |params|, from now on, |params.output_video_frame_handle|
- // is taken cared by scoper. |params.input_buffer_handle| need to be closed
- // manually for early exits.
+ // is taken cared by scoper. |params.input_buffer.handle()| need to be
+ // closed manually for early exits.
scoped_ptr<base::SharedMemory> output_shm(
new base::SharedMemory(params.output_video_frame_handle, false));
if (!output_shm->Map(params.output_buffer_size)) {
LOG(ERROR) << "Could not map output shared memory for input buffer id "
- << params.input_buffer_id;
+ << params.input_buffer.id();
NotifyDecodeStatusOnIOThread(
- *route_id, params.input_buffer_id,
+ *route_id, params.input_buffer.id(),
media::JpegDecodeAccelerator::PLATFORM_FAILURE);
- base::SharedMemory::CloseHandle(params.input_buffer_handle);
+ base::SharedMemory::CloseHandle(params.input_buffer.handle());
return;
}
- media::BitstreamBuffer input_buffer(params.input_buffer_id,
- params.input_buffer_handle,
- params.input_buffer_size);
-
uint8_t* shm_memory = static_cast<uint8_t*>(output_shm->memory());
scoped_refptr<media::VideoFrame> frame =
media::VideoFrame::WrapExternalSharedMemory(
@@ -250,11 +233,11 @@ class GpuJpegDecodeAccelerator::MessageFilter : public IPC::MessageFilter {
base::TimeDelta()); // timestamp
if (!frame.get()) {
LOG(ERROR) << "Could not create VideoFrame for input buffer id "
- << params.input_buffer_id;
+ << params.input_buffer.id();
NotifyDecodeStatusOnIOThread(
- *route_id, params.input_buffer_id,
+ *route_id, params.input_buffer.id(),
media::JpegDecodeAccelerator::PLATFORM_FAILURE);
- base::SharedMemory::CloseHandle(params.input_buffer_handle);
+ base::SharedMemory::CloseHandle(params.input_buffer.handle());
return;
}
frame->AddDestructionObserver(
@@ -262,7 +245,7 @@ class GpuJpegDecodeAccelerator::MessageFilter : public IPC::MessageFilter {
DCHECK_GT(client_map_.count(*route_id), 0u);
Client* client = client_map_[*route_id];
- client->Decode(input_buffer, frame);
+ client->Decode(params.input_buffer, frame);
}
protected:

Powered by Google App Engine
This is Rietveld 408576698