OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_BASE_ANDROID_MEDIA_DECODER_JOB_H_ | 5 #ifndef MEDIA_BASE_ANDROID_MEDIA_DECODER_JOB_H_ |
6 #define MEDIA_BASE_ANDROID_MEDIA_DECODER_JOB_H_ | 6 #define MEDIA_BASE_ANDROID_MEDIA_DECODER_JOB_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 // NOTE: This MUST NOT be accessed in the destructor. | 140 // NOTE: This MUST NOT be accessed in the destructor. |
141 MediaCodecBridge* media_codec_bridge_; | 141 MediaCodecBridge* media_codec_bridge_; |
142 | 142 |
143 // Whether the decoder needs to be flushed. | 143 // Whether the decoder needs to be flushed. |
144 bool needs_flush_; | 144 bool needs_flush_; |
145 | 145 |
146 // Whether input EOS is encountered. | 146 // Whether input EOS is encountered. |
147 // TODO(wolenetz/qinmin): Protect with a lock. See http://crbug.com/320043. | 147 // TODO(wolenetz/qinmin): Protect with a lock. See http://crbug.com/320043. |
148 bool input_eos_encountered_; | 148 bool input_eos_encountered_; |
149 | 149 |
| 150 // Whether output EOS is encountered. |
| 151 bool output_eos_encountered_; |
| 152 |
150 // Tracks whether DecodeInternal() should skip decoding if the first access | 153 // Tracks whether DecodeInternal() should skip decoding if the first access |
151 // unit is EOS or empty, and report |MEDIA_CODEC_OUTPUT_END_OF_STREAM|. This | 154 // unit is EOS or empty, and report |MEDIA_CODEC_OUTPUT_END_OF_STREAM|. This |
152 // is to work around some decoders that could crash otherwise. See | 155 // is to work around some decoders that could crash otherwise. See |
153 // http://b/11696552. | 156 // http://b/11696552. |
154 bool skip_eos_enqueue_; | 157 bool skip_eos_enqueue_; |
155 | 158 |
156 // The timestamp the decoder needs to preroll to. If an access unit's | 159 // The timestamp the decoder needs to preroll to. If an access unit's |
157 // timestamp is smaller than |preroll_timestamp_|, don't render it. | 160 // timestamp is smaller than |preroll_timestamp_|, don't render it. |
158 // TODO(qinmin): Comparing access unit's timestamp with |preroll_timestamp_| | 161 // TODO(qinmin): Comparing access unit's timestamp with |preroll_timestamp_| |
159 // is not very accurate. | 162 // is not very accurate. |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 // Decode() has completed. This gets set when Release() gets called | 198 // Decode() has completed. This gets set when Release() gets called |
196 // while there is a decode in progress. | 199 // while there is a decode in progress. |
197 bool destroy_pending_; | 200 bool destroy_pending_; |
198 | 201 |
199 DISALLOW_IMPLICIT_CONSTRUCTORS(MediaDecoderJob); | 202 DISALLOW_IMPLICIT_CONSTRUCTORS(MediaDecoderJob); |
200 }; | 203 }; |
201 | 204 |
202 } // namespace media | 205 } // namespace media |
203 | 206 |
204 #endif // MEDIA_BASE_ANDROID_MEDIA_DECODER_JOB_H_ | 207 #endif // MEDIA_BASE_ANDROID_MEDIA_DECODER_JOB_H_ |
OLD | NEW |