OLD | NEW |
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 #ifndef MEDIA_FILTERS_DECODER_STREAM_H_ | 5 #ifndef MEDIA_FILTERS_DECODER_STREAM_H_ |
6 #define MEDIA_FILTERS_DECODER_STREAM_H_ | 6 #define MEDIA_FILTERS_DECODER_STREAM_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 DecoderStream( | 53 DecoderStream( |
54 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 54 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
55 ScopedVector<Decoder> decoders, | 55 ScopedVector<Decoder> decoders, |
56 const SetDecryptorReadyCB& set_decryptor_ready_cb, | 56 const SetDecryptorReadyCB& set_decryptor_ready_cb, |
57 const scoped_refptr<MediaLog>& media_log); | 57 const scoped_refptr<MediaLog>& media_log); |
58 virtual ~DecoderStream(); | 58 virtual ~DecoderStream(); |
59 | 59 |
60 // Initializes the DecoderStream and returns the initialization result | 60 // Initializes the DecoderStream and returns the initialization result |
61 // through |init_cb|. Note that |init_cb| is always called asynchronously. | 61 // through |init_cb|. Note that |init_cb| is always called asynchronously. |
62 void Initialize(DemuxerStream* stream, | 62 void Initialize(DemuxerStream* stream, |
63 bool low_delay, | |
64 const StatisticsCB& statistics_cb, | 63 const StatisticsCB& statistics_cb, |
65 const InitCB& init_cb); | 64 const InitCB& init_cb); |
66 | 65 |
67 // Reads a decoded Output and returns it via the |read_cb|. Note that | 66 // Reads a decoded Output and returns it via the |read_cb|. Note that |
68 // |read_cb| is always called asynchronously. This method should only be | 67 // |read_cb| is always called asynchronously. This method should only be |
69 // called after initialization has succeeded and must not be called during | 68 // called after initialization has succeeded and must not be called during |
70 // pending Reset(). | 69 // pending Reset(). |
71 void Read(const ReadCB& read_cb); | 70 void Read(const ReadCB& read_cb); |
72 | 71 |
73 // Resets the decoder, flushes all decoded outputs and/or internal buffers, | 72 // Resets the decoder, flushes all decoded outputs and/or internal buffers, |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 | 164 |
166 State state_; | 165 State state_; |
167 | 166 |
168 StatisticsCB statistics_cb_; | 167 StatisticsCB statistics_cb_; |
169 InitCB init_cb_; | 168 InitCB init_cb_; |
170 | 169 |
171 ReadCB read_cb_; | 170 ReadCB read_cb_; |
172 base::Closure reset_cb_; | 171 base::Closure reset_cb_; |
173 | 172 |
174 DemuxerStream* stream_; | 173 DemuxerStream* stream_; |
175 bool low_delay_; | |
176 | 174 |
177 scoped_ptr<DecoderSelector<StreamType> > decoder_selector_; | 175 scoped_ptr<DecoderSelector<StreamType> > decoder_selector_; |
178 | 176 |
179 // These two will be set by DecoderSelector::SelectDecoder(). | 177 // These two will be set by DecoderSelector::SelectDecoder(). |
180 scoped_ptr<Decoder> decoder_; | 178 scoped_ptr<Decoder> decoder_; |
181 scoped_ptr<DecryptingDemuxerStream> decrypting_demuxer_stream_; | 179 scoped_ptr<DecryptingDemuxerStream> decrypting_demuxer_stream_; |
182 | 180 |
183 SpliceObserverCB splice_observer_cb_; | 181 SpliceObserverCB splice_observer_cb_; |
184 ConfigChangeObserverCB config_change_observer_cb_; | 182 ConfigChangeObserverCB config_change_observer_cb_; |
185 | 183 |
(...skipping 22 matching lines...) Expand all Loading... |
208 | 206 |
209 template <> | 207 template <> |
210 int DecoderStream<DemuxerStream::AUDIO>::GetMaxDecodeRequests() const; | 208 int DecoderStream<DemuxerStream::AUDIO>::GetMaxDecodeRequests() const; |
211 | 209 |
212 typedef DecoderStream<DemuxerStream::VIDEO> VideoFrameStream; | 210 typedef DecoderStream<DemuxerStream::VIDEO> VideoFrameStream; |
213 typedef DecoderStream<DemuxerStream::AUDIO> AudioBufferStream; | 211 typedef DecoderStream<DemuxerStream::AUDIO> AudioBufferStream; |
214 | 212 |
215 } // namespace media | 213 } // namespace media |
216 | 214 |
217 #endif // MEDIA_FILTERS_DECODER_STREAM_H_ | 215 #endif // MEDIA_FILTERS_DECODER_STREAM_H_ |
OLD | NEW |