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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 // ignored and will not be called. | 63 // ignored and will not be called. |
64 bool Decode(base::TimeTicks start_time_ticks, | 64 bool Decode(base::TimeTicks start_time_ticks, |
65 base::TimeDelta start_presentation_timestamp, | 65 base::TimeDelta start_presentation_timestamp, |
66 const DecoderCallback& callback); | 66 const DecoderCallback& callback); |
67 | 67 |
68 // Called to stop the last Decode() early. | 68 // Called to stop the last Decode() early. |
69 // If the decoder is in the process of decoding the next frame, then | 69 // If the decoder is in the process of decoding the next frame, then |
70 // this method will just allow the decode to complete as normal. If | 70 // this method will just allow the decode to complete as normal. If |
71 // this object is waiting for a data request to complete, then this method | 71 // this object is waiting for a data request to complete, then this method |
72 // will wait for the data to arrive and then call the |callback| | 72 // will wait for the data to arrive and then call the |callback| |
73 // passed to Decode() with a status of MEDIA_CODEC_STOPPED. This ensures that | 73 // passed to Decode() with a status of MEDIA_CODEC_ABORT. This ensures that |
74 // the |callback| passed to Decode() is always called and the status | 74 // the |callback| passed to Decode() is always called and the status |
75 // reflects whether data was actually decoded or the decode terminated early. | 75 // reflects whether data was actually decoded or the decode terminated early. |
76 void StopDecode(); | 76 void StopDecode(); |
77 | 77 |
78 // Flushes the decoder and abandons all the data that is being decoded. | 78 // Flushes the decoder and abandons all the data that is being decoded. |
79 virtual void Flush(); | 79 virtual void Flush(); |
80 | 80 |
81 // Enters prerolling state. The job must not currently be decoding. | 81 // Enters prerolling state. The job must not currently be decoding. |
82 void BeginPrerolling(base::TimeDelta preroll_timestamp); | 82 void BeginPrerolling(base::TimeDelta preroll_timestamp); |
83 | 83 |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 // This access unit is passed to the decoder during config changes to drain | 338 // This access unit is passed to the decoder during config changes to drain |
339 // the decoder. | 339 // the decoder. |
340 AccessUnit eos_unit_; | 340 AccessUnit eos_unit_; |
341 | 341 |
342 DISALLOW_IMPLICIT_CONSTRUCTORS(MediaDecoderJob); | 342 DISALLOW_IMPLICIT_CONSTRUCTORS(MediaDecoderJob); |
343 }; | 343 }; |
344 | 344 |
345 } // namespace media | 345 } // namespace media |
346 | 346 |
347 #endif // MEDIA_BASE_ANDROID_MEDIA_DECODER_JOB_H_ | 347 #endif // MEDIA_BASE_ANDROID_MEDIA_DECODER_JOB_H_ |
OLD | NEW |