Index: media/filters/decoder_stream_traits.cc |
diff --git a/media/filters/decoder_stream_traits.cc b/media/filters/decoder_stream_traits.cc |
index d18ed73a8a7678c94e8b49e9cab4ca032ff337e7..5740cac293dac73425b8b78310403460fd63c21b 100644 |
--- a/media/filters/decoder_stream_traits.cc |
+++ b/media/filters/decoder_stream_traits.cc |
@@ -5,10 +5,40 @@ |
#include "media/filters/decoder_stream_traits.h" |
#include "base/logging.h" |
+#include "media/base/audio_decoder.h" |
+#include "media/base/audio_decoder_config.h" |
#include "media/base/video_decoder.h" |
+#include "media/base/video_decoder_config.h" |
namespace media { |
+bool DecoderStreamTraits<DemuxerStream::AUDIO>::FinishInitialization( |
+ const StreamInitCB& init_cb, |
+ DecoderType* decoder, |
+ DemuxerStream* stream) { |
+ DCHECK(stream); |
+ if (!decoder) { |
+ init_cb.Run(false); |
+ return false; |
+ } |
+ init_cb.Run(true); |
+ return true; |
+} |
+ |
+void DecoderStreamTraits<DemuxerStream::AUDIO>::ReportStatistics( |
+ const StatisticsCB& statistics_cb, |
+ int bytes_decoded) { |
+ PipelineStatistics statistics; |
+ statistics.audio_bytes_decoded = bytes_decoded; |
+ statistics_cb.Run(statistics); |
+} |
+ |
+DecoderStreamTraits<DemuxerStream::AUDIO>::DecoderConfigType |
+ DecoderStreamTraits<DemuxerStream::AUDIO>::GetDecoderConfig( |
+ DemuxerStream& stream) { |
+ return stream.audio_decoder_config(); |
+} |
+ |
bool DecoderStreamTraits<DemuxerStream::VIDEO>::FinishInitialization( |
const StreamInitCB& init_cb, |
DecoderType* decoder, |
@@ -34,4 +64,10 @@ void DecoderStreamTraits<DemuxerStream::VIDEO>::ReportStatistics( |
statistics_cb.Run(statistics); |
} |
+DecoderStreamTraits<DemuxerStream::VIDEO>::DecoderConfigType |
+ DecoderStreamTraits<DemuxerStream::VIDEO>::GetDecoderConfig( |
+ DemuxerStream& stream) { |
+ return stream.video_decoder_config(); |
+} |
+ |
} // namespace media |