Chromium Code Reviews| Index: media/mojo/services/mojo_audio_decoder_service.cc |
| diff --git a/media/mojo/services/mojo_audio_decoder_service.cc b/media/mojo/services/mojo_audio_decoder_service.cc |
| index 91d0b9bf8b479dff3c424076f24f208fd43ff4a1..d4bdd540804032097350ae37dfa6bccf56fb252e 100644 |
| --- a/media/mojo/services/mojo_audio_decoder_service.cc |
| +++ b/media/mojo/services/mojo_audio_decoder_service.cc |
| @@ -153,27 +153,27 @@ scoped_refptr<DecoderBuffer> MojoAudioDecoderService::ReadDecoderBuffer( |
| // Wait for the data to become available in the DataPipe. |
| MojoHandleSignalsState state; |
| - CHECK_EQ(MOJO_RESULT_OK, |
| - MojoWait(consumer_handle_.get().value(), MOJO_HANDLE_SIGNAL_READABLE, |
| - MOJO_DEADLINE_INDEFINITE, &state)); |
| + MojoResult result = |
| + MojoWait(consumer_handle_.get().value(), MOJO_HANDLE_SIGNAL_READABLE, |
| + MOJO_DEADLINE_INDEFINITE, &state); |
| - if (state.satisfied_signals & MOJO_HANDLE_SIGNAL_PEER_CLOSED) { |
| + if (result != MOJO_RESULT_OK) { |
| DVLOG(1) << __FUNCTION__ << ": Peer closed the data pipe"; |
| - return scoped_refptr<DecoderBuffer>(); |
| + return nullptr; |
| } |
| - CHECK_EQ(MOJO_HANDLE_SIGNAL_READABLE, |
| - state.satisfied_signals & MOJO_HANDLE_SIGNAL_READABLE); |
| - |
| // Read the inner data for the DecoderBuffer from our DataPipe. |
| - uint32_t bytes_to_read = |
| - base::checked_cast<uint32_t>(media_buffer->data_size()); |
| - DCHECK_GT(bytes_to_read, 0u); |
| - uint32_t bytes_read = bytes_to_read; |
| - CHECK_EQ(ReadDataRaw(consumer_handle_.get(), media_buffer->writable_data(), |
| - &bytes_read, MOJO_READ_DATA_FLAG_ALL_OR_NONE), |
| - MOJO_RESULT_OK); |
| - CHECK_EQ(bytes_to_read, bytes_read); |
| + uint32_t data_size = base::checked_cast<uint32_t>(media_buffer->data_size()); |
|
sandersd (OOO until July 31)
2016/05/19 20:22:58
This should not be a checked cast.
Tima Vaisburd
2016/05/19 22:00:57
Changed to static_cast<>
|
| + DCHECK_EQ(data_size, buffer->data_size); |
| + DCHECK_GT(data_size, 0u); |
| + |
| + uint32_t bytes_read = data_size; |
| + result = ReadDataRaw(consumer_handle_.get(), media_buffer->writable_data(), |
| + &bytes_read, MOJO_READ_DATA_FLAG_ALL_OR_NONE); |
| + if (result != MOJO_RESULT_OK || bytes_read != data_size) { |
| + DVLOG(1) << __FUNCTION__ << ": reading from pipe failed"; |
| + return nullptr; |
| + } |
| return media_buffer; |
| } |