Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(377)

Unified Diff: webkit/renderer/media/crypto/ppapi/ffmpeg_cdm_audio_decoder.h

Issue 22362007: Relocate last remnants of webkit/renderer/media code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Make chromeos crypto dep explicit. Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_

Powered by Google App Engine
This is Rietveld 408576698