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

Side by Side Diff: media/filters/decoder_stream_traits.cc

Issue 297553002: Add callback in VideoDecoder and AudioDecoder to return decoded frames. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/filters/decoder_stream_traits.h" 5 #include "media/filters/decoder_stream_traits.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "media/base/audio_decoder.h" 8 #include "media/base/audio_decoder.h"
9 #include "media/base/audio_decoder_config.h" 9 #include "media/base/audio_decoder_config.h"
10 #include "media/base/video_decoder.h" 10 #include "media/base/video_decoder.h"
11 #include "media/base/video_decoder_config.h" 11 #include "media/base/video_decoder_config.h"
12 12
13 namespace media { 13 namespace media {
14 14
15 std::string DecoderStreamTraits<DemuxerStream::AUDIO>::ToString() { 15 std::string DecoderStreamTraits<DemuxerStream::AUDIO>::ToString() {
16 return "Audio"; 16 return "Audio";
17 } 17 }
18 18
19 void DecoderStreamTraits<DemuxerStream::AUDIO>::Initialize( 19 void DecoderStreamTraits<DemuxerStream::AUDIO>::Initialize(
20 DecoderType* decoder, 20 DecoderType* decoder,
21 const DecoderConfigType& config, 21 const DecoderConfigType& config,
22 bool low_delay, 22 bool low_delay,
23 const PipelineStatusCB& status_cb) { 23 const PipelineStatusCB& status_cb,
24 decoder->Initialize(config, status_cb); 24 const OutputCB& output_cb) {
25 decoder->Initialize(config, status_cb, output_cb);
25 } 26 }
26 27
27 bool DecoderStreamTraits<DemuxerStream::AUDIO>::FinishInitialization( 28 bool DecoderStreamTraits<DemuxerStream::AUDIO>::FinishInitialization(
28 const StreamInitCB& init_cb, 29 const StreamInitCB& init_cb,
29 DecoderType* decoder, 30 DecoderType* decoder,
30 DemuxerStream* stream) { 31 DemuxerStream* stream) {
31 DCHECK(stream); 32 DCHECK(stream);
32 if (!decoder) { 33 if (!decoder) {
33 init_cb.Run(false); 34 init_cb.Run(false);
34 return false; 35 return false;
(...skipping 17 matching lines...) Expand all
52 } 53 }
53 54
54 std::string DecoderStreamTraits<DemuxerStream::VIDEO>::ToString() { 55 std::string DecoderStreamTraits<DemuxerStream::VIDEO>::ToString() {
55 return "Video"; 56 return "Video";
56 } 57 }
57 58
58 void DecoderStreamTraits<DemuxerStream::VIDEO>::Initialize( 59 void DecoderStreamTraits<DemuxerStream::VIDEO>::Initialize(
59 DecoderType* decoder, 60 DecoderType* decoder,
60 const DecoderConfigType& config, 61 const DecoderConfigType& config,
61 bool low_delay, 62 bool low_delay,
62 const PipelineStatusCB& status_cb) { 63 const PipelineStatusCB& status_cb,
63 decoder->Initialize(config, low_delay, status_cb); 64 const OutputCB& output_cb) {
65 decoder->Initialize(config, low_delay, status_cb, output_cb);
64 } 66 }
65 67
66 bool DecoderStreamTraits<DemuxerStream::VIDEO>::FinishInitialization( 68 bool DecoderStreamTraits<DemuxerStream::VIDEO>::FinishInitialization(
67 const StreamInitCB& init_cb, 69 const StreamInitCB& init_cb,
68 DecoderType* decoder, 70 DecoderType* decoder,
69 DemuxerStream* stream) { 71 DemuxerStream* stream) {
70 DCHECK(stream); 72 DCHECK(stream);
71 if (!decoder) { 73 if (!decoder) {
72 init_cb.Run(false); 74 init_cb.Run(false);
73 return false; 75 return false;
(...skipping 12 matching lines...) Expand all
86 statistics_cb.Run(statistics); 88 statistics_cb.Run(statistics);
87 } 89 }
88 90
89 DecoderStreamTraits<DemuxerStream::VIDEO>::DecoderConfigType 91 DecoderStreamTraits<DemuxerStream::VIDEO>::DecoderConfigType
90 DecoderStreamTraits<DemuxerStream::VIDEO>::GetDecoderConfig( 92 DecoderStreamTraits<DemuxerStream::VIDEO>::GetDecoderConfig(
91 DemuxerStream& stream) { 93 DemuxerStream& stream) {
92 return stream.video_decoder_config(); 94 return stream.video_decoder_config();
93 } 95 }
94 96
95 } // namespace media 97 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698