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

Side by Side Diff: chrome/gpu/arc_gpu_video_decode_accelerator.cc

Issue 2843113002: make base::SharedMemoryHandle a class on POSIX. (Closed)
Patch Set: Fix test error. Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/gpu/arc_gpu_video_decode_accelerator.h" 5 #include "chrome/gpu/arc_gpu_video_decode_accelerator.h"
6 6
7 #include "base/callback_helpers.h" 7 #include "base/callback_helpers.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/metrics/histogram_macros.h" 9 #include "base/metrics/histogram_macros.h"
10 #include "base/numerics/safe_math.h" 10 #include "base/numerics/safe_math.h"
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 // integer. 289 // integer.
290 next_bitstream_buffer_id_ = (next_bitstream_buffer_id_ + 1) & 0x3FFFFFFF; 290 next_bitstream_buffer_id_ = (next_bitstream_buffer_id_ + 1) & 0x3FFFFFFF;
291 int dup_fd = HANDLE_EINTR(dup(input_info->handle.get())); 291 int dup_fd = HANDLE_EINTR(dup(input_info->handle.get()));
292 if (dup_fd < 0) { 292 if (dup_fd < 0) {
293 DLOG(ERROR) << "dup() failed."; 293 DLOG(ERROR) << "dup() failed.";
294 arc_client_->OnError(PLATFORM_FAILURE); 294 arc_client_->OnError(PLATFORM_FAILURE);
295 return; 295 return;
296 } 296 }
297 CreateInputRecord(bitstream_buffer_id, index, metadata.timestamp); 297 CreateInputRecord(bitstream_buffer_id, index, metadata.timestamp);
298 vda_->Decode(media::BitstreamBuffer( 298 vda_->Decode(media::BitstreamBuffer(
299 bitstream_buffer_id, base::SharedMemoryHandle(dup_fd, true), 299 bitstream_buffer_id,
300 base::SharedMemoryHandle(base::FileDescriptor(dup_fd, true)),
300 metadata.bytes_used, input_info->offset)); 301 metadata.bytes_used, input_info->offset));
301 break; 302 break;
302 } 303 }
303 case PORT_OUTPUT: { 304 case PORT_OUTPUT: {
304 // is_valid() is true for the first time the buffer is passed to the VDA. 305 // is_valid() is true for the first time the buffer is passed to the VDA.
305 // In that case, VDA needs to import the buffer first. 306 // In that case, VDA needs to import the buffer first.
306 OutputBufferInfo& info = buffers_pending_import_[index]; 307 OutputBufferInfo& info = buffers_pending_import_[index];
307 if (info.handle.is_valid()) { 308 if (info.handle.is_valid()) {
308 gfx::GpuMemoryBufferHandle handle; 309 gfx::GpuMemoryBufferHandle handle;
309 #if defined(USE_OZONE) 310 #if defined(USE_OZONE)
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 } 523 }
523 return true; 524 return true;
524 default: 525 default:
525 DLOG(ERROR) << "Invalid port: " << port; 526 DLOG(ERROR) << "Invalid port: " << port;
526 return false; 527 return false;
527 } 528 }
528 } 529 }
529 530
530 } // namespace arc 531 } // namespace arc
531 } // namespace chromeos 532 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698