Index: webkit/renderer/media/crypto/ppapi/ffmpeg_cdm_audio_decoder.h |
diff --git a/webkit/renderer/media/crypto/ppapi/ffmpeg_cdm_audio_decoder.h b/webkit/renderer/media/crypto/ppapi/ffmpeg_cdm_audio_decoder.h |
deleted file mode 100644 |
index 2e939743368e308ea1f32b5d85cbace14cd6c760..0000000000000000000000000000000000000000 |
--- a/webkit/renderer/media/crypto/ppapi/ffmpeg_cdm_audio_decoder.h |
+++ /dev/null |
@@ -1,99 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef WEBKIT_RENDERER_MEDIA_CRYPTO_PPAPI_FFMPEG_CDM_AUDIO_DECODER_H_ |
-#define WEBKIT_RENDERER_MEDIA_CRYPTO_PPAPI_FFMPEG_CDM_AUDIO_DECODER_H_ |
- |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/compiler_specific.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/time/time.h" |
-#include "webkit/renderer/media/crypto/ppapi/cdm/content_decryption_module.h" |
- |
-struct AVCodecContext; |
-struct AVFrame; |
- |
-namespace media { |
-class AudioBus; |
-class AudioTimestampHelper; |
-} |
- |
-namespace webkit_media { |
- |
-// TODO(xhwang): This class is partially cloned from media::FFmpegAudioDecoder. |
-// When media::FFmpegAudioDecoder is updated, it's a pain to keep this class |
-// in sync with media::FFmpegAudioDecoder. We need a long term sustainable |
-// solution for this. See http://crbug.com/169203 |
-class FFmpegCdmAudioDecoder { |
- public: |
- explicit FFmpegCdmAudioDecoder(cdm::Host* host); |
- ~FFmpegCdmAudioDecoder(); |
- bool Initialize(const cdm::AudioDecoderConfig& config); |
- void Deinitialize(); |
- void Reset(); |
- |
- // Returns true when |config| is a valid audio decoder configuration. |
- static bool IsValidConfig(const cdm::AudioDecoderConfig& config); |
- |
- // Decodes |compressed_buffer|. Returns |cdm::kSuccess| after storing |
- // output in |decoded_frames| when output is available. Returns |
- // |cdm::kNeedMoreData| when |compressed_frame| does not produce output. |
- // Returns |cdm::kDecodeError| when decoding fails. |
- // |
- // A null |compressed_buffer| will attempt to flush the decoder of any |
- // remaining frames. |compressed_buffer_size| and |timestamp| are ignored. |
- cdm::Status DecodeBuffer(const uint8_t* compressed_buffer, |
- int32_t compressed_buffer_size, |
- int64_t timestamp, |
- cdm::AudioFrames* decoded_frames); |
- |
- private: |
- void ResetTimestampState(); |
- void ReleaseFFmpegResources(); |
- |
- base::TimeDelta GetNextOutputTimestamp() const; |
- |
- void SerializeInt64(int64_t value); |
- |
- bool is_initialized_; |
- |
- cdm::Host* const host_; |
- |
- // FFmpeg structures owned by this object. |
- AVCodecContext* codec_context_; |
- AVFrame* av_frame_; |
- |
- // Audio format. |
- int bits_per_channel_; |
- int samples_per_second_; |
- int channels_; |
- |
- // AVSampleFormat initially requested; not Chrome's SampleFormat. |
- int av_sample_format_; |
- |
- // Used for computing output timestamps. |
- scoped_ptr<media::AudioTimestampHelper> output_timestamp_helper_; |
- int bytes_per_frame_; |
- base::TimeDelta last_input_timestamp_; |
- |
- // We may need to convert the audio data coming out of FFmpeg from planar |
- // float to integer. |
- scoped_ptr<media::AudioBus> converter_bus_; |
- |
- // Number of output sample bytes to drop before generating output buffers. |
- // This is required for handling negative timestamps when decoding Vorbis |
- // audio, for example. |
- int output_bytes_to_drop_; |
- |
- typedef std::vector<uint8_t> SerializedAudioFrames; |
- SerializedAudioFrames serialized_audio_frames_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FFmpegCdmAudioDecoder); |
-}; |
- |
-} // namespace webkit_media |
- |
-#endif // WEBKIT_RENDERER_MEDIA_CRYPTO_PPAPI_FFMPEG_CDM_AUDIO_DECODER_H_ |