Index: media/cdm/ppapi/cdm_adapter.cc |
diff --git a/media/cdm/ppapi/cdm_adapter.cc b/media/cdm/ppapi/cdm_adapter.cc |
index 10feef775442cd3f8dc658eb7e8fb5754ae69580..44bed61b48e20de404e6224babe089abfeb1caf4 100644 |
--- a/media/cdm/ppapi/cdm_adapter.cc |
+++ b/media/cdm/ppapi/cdm_adapter.cc |
@@ -855,9 +855,10 @@ void CdmAdapter::DeliverBlock(int32_t result, |
} else { |
PpbBuffer* ppb_buffer = |
static_cast<PpbBuffer*>(decrypted_block->DecryptedBuffer()); |
- buffer = ppb_buffer->buffer_dev(); |
decrypted_block_info.tracking_info.buffer_id = ppb_buffer->buffer_id(); |
decrypted_block_info.data_size = ppb_buffer->Size(); |
+ |
+ buffer = ppb_buffer->TakeBuffer(); |
} |
} |
@@ -908,8 +909,6 @@ void CdmAdapter::DeliverFrame( |
PpbBuffer* ppb_buffer = |
static_cast<PpbBuffer*>(video_frame->FrameBuffer()); |
- buffer = ppb_buffer->buffer_dev(); |
- |
decrypted_frame_info.tracking_info.timestamp = video_frame->Timestamp(); |
decrypted_frame_info.tracking_info.buffer_id = ppb_buffer->buffer_id(); |
decrypted_frame_info.format = |
@@ -928,8 +927,11 @@ void CdmAdapter::DeliverFrame( |
video_frame->Stride(cdm::VideoFrame::kUPlane); |
decrypted_frame_info.strides[PP_DECRYPTEDFRAMEPLANES_V] = |
video_frame->Stride(cdm::VideoFrame::kVPlane); |
+ |
+ buffer = ppb_buffer->TakeBuffer(); |
} |
} |
+ |
pp::ContentDecryptor_Private::DeliverFrame(buffer, decrypted_frame_info); |
} |
@@ -956,11 +958,13 @@ void CdmAdapter::DeliverSamples(int32_t result, |
} else { |
PpbBuffer* ppb_buffer = |
static_cast<PpbBuffer*>(audio_frames->FrameBuffer()); |
- buffer = ppb_buffer->buffer_dev(); |
+ |
decrypted_sample_info.tracking_info.buffer_id = ppb_buffer->buffer_id(); |
decrypted_sample_info.data_size = ppb_buffer->Size(); |
decrypted_sample_info.format = |
CdmAudioFormatToPpDecryptedSampleFormat(audio_frames->Format()); |
+ |
+ buffer = ppb_buffer->TakeBuffer(); |
} |
} |