| 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 <deque> | 8 #include <deque> |
| 9 #include <list> | 9 #include <list> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 base::Closure waiting_for_decryption_key_cb_; | 196 base::Closure waiting_for_decryption_key_cb_; |
| 197 | 197 |
| 198 ReadCB read_cb_; | 198 ReadCB read_cb_; |
| 199 base::Closure reset_cb_; | 199 base::Closure reset_cb_; |
| 200 | 200 |
| 201 DemuxerStream* stream_; | 201 DemuxerStream* stream_; |
| 202 | 202 |
| 203 std::unique_ptr<DecoderSelector<StreamType>> decoder_selector_; | 203 std::unique_ptr<DecoderSelector<StreamType>> decoder_selector_; |
| 204 | 204 |
| 205 std::unique_ptr<Decoder> decoder_; | 205 std::unique_ptr<Decoder> decoder_; |
| 206 |
| 206 // When falling back from H/W decoding to S/W decoding, destructing the | 207 // When falling back from H/W decoding to S/W decoding, destructing the |
| 207 // GpuVideoDecoder too early results in black frames being displayed. | 208 // GpuVideoDecoder too early results in black frames being displayed. |
| 208 // |previous_decoder_| is used to keep it alive. It is destroyed once we've | 209 // |previous_decoder_| is used to keep it alive. It is destroyed once we've |
| 209 // decoded at least media::limits::kMaxVideoFrames frames after fallback. | 210 // decoded at least media::limits::kMaxVideoFrames frames after fallback. |
| 210 int decoded_frames_since_fallback_; | 211 int decoded_frames_since_fallback_; |
| 211 std::unique_ptr<Decoder> previous_decoder_; | 212 std::unique_ptr<Decoder> previous_decoder_; |
| 213 |
| 212 std::unique_ptr<DecryptingDemuxerStream> decrypting_demuxer_stream_; | 214 std::unique_ptr<DecryptingDemuxerStream> decrypting_demuxer_stream_; |
| 213 | 215 |
| 214 ConfigChangeObserverCB config_change_observer_cb_; | 216 ConfigChangeObserverCB config_change_observer_cb_; |
| 215 | 217 |
| 216 // An end-of-stream buffer has been sent for decoding, no more buffers should | 218 // An end-of-stream buffer has been sent for decoding, no more buffers should |
| 217 // be sent for decoding until it completes. | 219 // be sent for decoding until it completes. |
| 218 // TODO(sandersd): Turn this into a State. http://crbug.com/408316 | 220 // TODO(sandersd): Turn this into a State. http://crbug.com/408316 |
| 219 bool decoding_eos_; | 221 bool decoding_eos_; |
| 220 | 222 |
| 221 // Decoded buffers that haven't been read yet. Used when the decoder supports | 223 // Decoded buffers that haven't been read yet. Used when the decoder supports |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 | 260 |
| 259 template <> | 261 template <> |
| 260 int DecoderStream<DemuxerStream::AUDIO>::GetMaxDecodeRequests() const; | 262 int DecoderStream<DemuxerStream::AUDIO>::GetMaxDecodeRequests() const; |
| 261 | 263 |
| 262 typedef DecoderStream<DemuxerStream::VIDEO> VideoFrameStream; | 264 typedef DecoderStream<DemuxerStream::VIDEO> VideoFrameStream; |
| 263 typedef DecoderStream<DemuxerStream::AUDIO> AudioBufferStream; | 265 typedef DecoderStream<DemuxerStream::AUDIO> AudioBufferStream; |
| 264 | 266 |
| 265 } // namespace media | 267 } // namespace media |
| 266 | 268 |
| 267 #endif // MEDIA_FILTERS_DECODER_STREAM_H_ | 269 #endif // MEDIA_FILTERS_DECODER_STREAM_H_ |
| OLD | NEW |