| Index: mojo/services/media/common/cpp/mapped_shared_buffer.cc
|
| diff --git a/mojo/services/media/common/cpp/mapped_shared_buffer.cc b/mojo/services/media/common/cpp/mapped_shared_buffer.cc
|
| index 5d0cb4b6f4ea1dac946a7f74c477c58b522f902c..e40f75476052ea439e8d94d858eed86462fe939c 100644
|
| --- a/mojo/services/media/common/cpp/mapped_shared_buffer.cc
|
| +++ b/mojo/services/media/common/cpp/mapped_shared_buffer.cc
|
| @@ -18,25 +18,30 @@ void MappedSharedBuffer::InitNew(uint64_t size) {
|
| buffer_.reset(new SharedBuffer(size));
|
| handle_.reset();
|
|
|
| - InitInternal(buffer_->handle, size);
|
| + InitInternal(buffer_->handle);
|
| }
|
|
|
| -void MappedSharedBuffer::InitFromHandle(
|
| - ScopedSharedBufferHandle handle,
|
| - uint64_t size) {
|
| +void MappedSharedBuffer::InitFromHandle(ScopedSharedBufferHandle handle) {
|
| MOJO_DCHECK(handle.is_valid());
|
| - MOJO_DCHECK(size > 0);
|
|
|
| buffer_.reset();
|
| handle_ = handle.Pass();
|
|
|
| - InitInternal(handle_, size);
|
| + InitInternal(handle_);
|
| }
|
|
|
| -void MappedSharedBuffer::InitInternal(
|
| - ScopedSharedBufferHandle& handle,
|
| - uint64_t size) {
|
| +void MappedSharedBuffer::InitInternal(const ScopedSharedBufferHandle& handle) {
|
| MOJO_DCHECK(handle.is_valid());
|
| +
|
| + // Query the buffer for its size.
|
| + // TODO(johngro) : It would be nice if we could do something other than
|
| + // DCHECK if things don't go exactly our way.
|
| + struct MojoBufferInformation info;
|
| + MojoResult res = MojoGetBufferInformation(handle.get().value(),
|
| + &info,
|
| + sizeof(info));
|
| + uint64_t size = info.num_bytes;
|
| + MOJO_DCHECK(res == MOJO_RESULT_OK);
|
| MOJO_DCHECK(size > 0);
|
|
|
| size_ = size;
|
| @@ -45,7 +50,7 @@ void MappedSharedBuffer::InitInternal(
|
| void* ptr;
|
| auto result = MapBuffer(
|
| handle.get(),
|
| - 0, // offset
|
| + 0, // offset
|
| size,
|
| &ptr,
|
| MOJO_MAP_BUFFER_FLAG_NONE);
|
| @@ -100,5 +105,5 @@ uint64_t MappedSharedBuffer::OffsetFromPtr(void *ptr) const {
|
|
|
| void MappedSharedBuffer::OnInit() {}
|
|
|
| -} // namespace media
|
| -} // namespace mojo
|
| +} // namespace media
|
| +} // namespace mojo
|
|
|