| Index: webkit/media/crypto/ppapi/cdm_wrapper.cc
|
| diff --git a/webkit/media/crypto/ppapi/cdm_wrapper.cc b/webkit/media/crypto/ppapi/cdm_wrapper.cc
|
| index 679abafc7ecbb2a8751313931f7a4f44002cfb4e..c3e9a822067f8918b862d301ce7849dda3357677 100644
|
| --- a/webkit/media/crypto/ppapi/cdm_wrapper.cc
|
| +++ b/webkit/media/crypto/ppapi/cdm_wrapper.cc
|
| @@ -378,9 +378,10 @@ class CdmWrapper : public pp::Instance,
|
| virtual void Decrypt(
|
| pp::Buffer_Dev encrypted_buffer,
|
| const PP_EncryptedBlockInfo& encrypted_block_info) OVERRIDE;
|
| - virtual void DecryptAndDecodeFrame(
|
| + virtual void DecryptAndDecode(
|
| + PP_StreamType decoder_type,
|
| pp::Buffer_Dev encrypted_frame,
|
| - const PP_EncryptedVideoFrameInfo& encrypted_video_frame_info) OVERRIDE;
|
| + const PP_EncryptedBlockInfo& encrypted_block_info) OVERRIDE;
|
|
|
| private:
|
| typedef linked_ptr<DecryptedBlockImpl> LinkedDecryptedBlock;
|
| @@ -530,27 +531,31 @@ void CdmWrapper::Decrypt(pp::Buffer_Dev encrypted_buffer,
|
| encrypted_block_info.tracking_info));
|
| }
|
|
|
| -void CdmWrapper::DecryptAndDecodeFrame(
|
| - pp::Buffer_Dev encrypted_frame,
|
| - const PP_EncryptedVideoFrameInfo& encrypted_video_frame_info) {
|
| - PP_DCHECK(!encrypted_frame.is_null());
|
| +void CdmWrapper::DecryptAndDecode(
|
| + PP_StreamType decoder_type,
|
| + pp::Buffer_Dev encrypted_buffer,
|
| + const PP_EncryptedBlockInfo& encrypted_block_info) {
|
| + // TODO(tomfinegan): Remove this check when audio decoding is added.
|
| + PP_DCHECK(decoder_type == PP_STREAMTYPE_VIDEO);
|
| +
|
| + PP_DCHECK(!encrypted_buffer.is_null());
|
| PP_DCHECK(cdm_);
|
|
|
| cdm::InputBuffer input_buffer;
|
| std::vector<cdm::SubsampleEntry> subsamples;
|
| - ConfigureInputBuffer(encrypted_frame,
|
| - encrypted_video_frame_info.encryption_info,
|
| + ConfigureInputBuffer(encrypted_buffer,
|
| + encrypted_block_info,
|
| &subsamples,
|
| &input_buffer);
|
|
|
| LinkedVideoFrame video_frame(new VideoFrameImpl());
|
| cdm::Status status = cdm_->DecryptAndDecodeFrame(input_buffer,
|
| - video_frame.get());
|
| + video_frame.get());
|
| CallOnMain(callback_factory_.NewCallback(
|
| &CdmWrapper::DeliverFrame,
|
| status,
|
| video_frame,
|
| - encrypted_video_frame_info.encryption_info.tracking_info));
|
| + encrypted_block_info.tracking_info));
|
| }
|
|
|
| void CdmWrapper::KeyAdded(int32_t result, const std::string& session_id) {
|
| @@ -612,6 +617,7 @@ void CdmWrapper::DeliverFrame(
|
| const cdm::Status& status,
|
| const LinkedVideoFrame& video_frame,
|
| const PP_DecryptTrackingInfo& tracking_info) {
|
| + PP_DCHECK(result == PP_OK);
|
| PP_DecryptedFrameInfo decrypted_frame_info;
|
| decrypted_frame_info.tracking_info = tracking_info;
|
|
|
|
|