1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef MEDIA_CDM_PPAPI_FAKE_CDM_VIDEO_DECODER_H_ 6 #define MEDIA_CDM_PPAPI_FAKE_CDM_VIDEO_DECODER_H_ 7 8 #include "base/basictypes.h" 9 #include "base/compiler_specific.h" 10 #include "media/cdm/ppapi/api/content_decryption_module.h" 11 #include "media/cdm/ppapi/cdm_video_decoder.h" 12 13 namespace media { 14 15 class FakeCdmVideoDecoder : public CdmVideoDecoder { 16 public: 17 explicit FakeCdmVideoDecoder(cdm::Host* host); 18 virtual ~FakeCdmVideoDecoder(); 19 20 // CdmVideoDecoder implementation. 21 virtual bool Initialize(const cdm::VideoDecoderConfig& config) OVERRIDE; 22 virtual void Deinitialize() OVERRIDE; 23 virtual void Reset() OVERRIDE; 24 virtual cdm::Status DecodeFrame(const uint8_t* compressed_frame, 25 int32_t compressed_frame_size, 26 int64_t timestamp, 27 cdm::VideoFrame* decoded_frame) OVERRIDE; 28 virtual bool is_initialized() const OVERRIDE { return is_initialized_; } 29 30 private: 31 bool is_initialized_; 32 cdm::Size video_size_; 33 34 cdm::Host* const host_; 35 36 DISALLOW_COPY_AND_ASSIGN(FakeCdmVideoDecoder); 37 }; 38 39 } // namespace media 40 41 #endif // MEDIA_CDM_PPAPI_FAKE_CDM_VIDEO_DECODER_H_ 42