Index: media/filters/android/media_codec_audio_decoder.cc |
diff --git a/media/filters/android/media_codec_audio_decoder.cc b/media/filters/android/media_codec_audio_decoder.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d52577f7b379004fd661d91fcc50eb924a5427c0 |
--- /dev/null |
+++ b/media/filters/android/media_codec_audio_decoder.cc |
@@ -0,0 +1,124 @@ |
+// Copyright 2016 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. |
+ |
+#include "media/filters/android/media_codec_audio_decoder.h" |
+ |
+#include "base/logging.h" |
+#include "base/thread_task_runner_handle.h" |
+ |
+namespace media { |
+ |
+MediaCodecAudioDecoder::MediaCodecAudioDecoder( |
+ const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) |
+ : task_runner_(task_runner), |
+ state_(STATE_UNINITIALIZED), |
+ pending_input_buf_index_(-1), |
+ weak_factory_(this) { |
+ DVLOG(1) << __FUNCTION__; |
+} |
+ |
+MediaCodecAudioDecoder::~MediaCodecAudioDecoder() { |
+ DVLOG(1) << __FUNCTION__; |
+ |
+ NOTIMPLEMENTED(); |
+} |
+ |
+std::string MediaCodecAudioDecoder::GetDisplayName() const { |
+ return "MediaCodecAudioDecoder"; |
+} |
+ |
+void MediaCodecAudioDecoder::Initialize(const AudioDecoderConfig& config, |
+ const SetCdmReadyCB& set_cdm_ready_cb, |
+ const InitCB& init_cb, |
+ const OutputCB& output_cb) { |
+ DVLOG(1) << __FUNCTION__ << ": " << config.AsHumanReadableString(); |
+ |
+ NOTIMPLEMENTED(); |
+} |
+ |
+void MediaCodecAudioDecoder::Decode(const scoped_refptr<DecoderBuffer>& buffer, |
+ const DecodeCB& decode_cb) { |
+ NOTIMPLEMENTED(); |
+} |
+ |
+void MediaCodecAudioDecoder::Reset(const base::Closure& closure) { |
+ DVLOG(1) << __FUNCTION__; |
+ |
+ NOTIMPLEMENTED(); |
+} |
+ |
+void MediaCodecAudioDecoder::OnKeyAdded() { |
+ DVLOG(1) << __FUNCTION__; |
+ |
+ NOTIMPLEMENTED(); |
+} |
+ |
+void MediaCodecAudioDecoder::DoIOTask() { |
+ NOTIMPLEMENTED(); |
+} |
+ |
+bool MediaCodecAudioDecoder::QueueInput() { |
+ DVLOG(2) << __FUNCTION__; |
+ |
+ NOTIMPLEMENTED(); |
+ return true; |
+} |
+ |
+bool MediaCodecAudioDecoder::DequeueOutput() { |
+ DVLOG(2) << __FUNCTION__; |
+ |
+ NOTIMPLEMENTED(); |
+ return true; |
+} |
+ |
+void MediaCodecAudioDecoder::ManageTimer(bool start) { |
+ NOTIMPLEMENTED(); |
+} |
+ |
+void MediaCodecAudioDecoder::SetState(State new_state) { |
+ DVLOG(1) << __FUNCTION__ << ": " << AsString(state_) << "->" |
+ << AsString(new_state); |
+ state_ = new_state; |
+} |
+ |
+scoped_ptr<MediaCodecBridge> MediaCodecAudioDecoder::ConfigureMediaCodec( |
+ const AudioDecoderConfig& config) { |
+ NOTIMPLEMENTED(); |
+ return nullptr; |
+} |
+ |
+void MediaCodecAudioDecoder::OnDecodedFrame(const OutputBufferInfo& out) { |
+ DVLOG(2) << __FUNCTION__ << " pts:" << out.pts; |
+ |
+ NOTIMPLEMENTED(); |
+} |
+ |
+void MediaCodecAudioDecoder::OnOutputFormatChanged() { |
+ DVLOG(2) << __FUNCTION__; |
+ |
+ NOTIMPLEMENTED(); |
+} |
+ |
+#undef RETURN_STRING |
+#define RETURN_STRING(x) \ |
+ case x: \ |
+ return #x; |
+ |
+// static |
+const char* MediaCodecAudioDecoder::AsString(State state) { |
+ switch (state) { |
+ RETURN_STRING(STATE_UNINITIALIZED); |
+ RETURN_STRING(STATE_READY); |
+ RETURN_STRING(STATE_WAITING_FOR_KEY); |
+ RETURN_STRING(STATE_DRAINING); |
+ RETURN_STRING(STATE_DRAINED); |
+ RETURN_STRING(STATE_ERROR); |
+ } |
+ NOTREACHED() << "Unknown state " << state; |
+ return nullptr; |
+} |
+ |
+#undef RETURN_STRING |
+ |
+} // namespace media |