OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_CODEC_PLAYER_H_ | 5 #ifndef MEDIA_BASE_ANDROID_MEDIA_CODEC_PLAYER_H_ |
6 #define MEDIA_BASE_ANDROID_MEDIA_CODEC_PLAYER_H_ | 6 #define MEDIA_BASE_ANDROID_MEDIA_CODEC_PLAYER_H_ |
7 | 7 |
8 #include "base/android/scoped_java_ref.h" | 8 #include "base/android/scoped_java_ref.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 // | | | | 151 // | | | |
152 // v | | | 152 // v | | |
153 // | | | 153 // | | |
154 // [ Stopping ] -----------------------> | | | 154 // [ Stopping ] -----------------------> | | |
155 // StopDone -- -- | 155 // StopDone -- -- |
156 // w/pending seek: | 156 // w/pending seek: |
157 // demuxer.RequestSeek | 157 // demuxer.RequestSeek |
158 | 158 |
159 namespace media { | 159 namespace media { |
160 | 160 |
161 class MediaCodecAudioDecoder; | 161 class AudioMediaCodecDecoder; |
162 class MediaCodecVideoDecoder; | 162 class VideoMediaCodecDecoder; |
163 | 163 |
164 class MEDIA_EXPORT MediaCodecPlayer : public MediaPlayerAndroid, | 164 class MEDIA_EXPORT MediaCodecPlayer : public MediaPlayerAndroid, |
165 public DemuxerAndroidClient { | 165 public DemuxerAndroidClient { |
166 public: | 166 public: |
167 // Typedefs for the notification callbacks | 167 // Typedefs for the notification callbacks |
168 typedef base::Callback<void(base::TimeDelta, const gfx::Size&)> | 168 typedef base::Callback<void(base::TimeDelta, const gfx::Size&)> |
169 MetadataChangedCallback; | 169 MetadataChangedCallback; |
170 | 170 |
171 typedef base::Callback<void(base::TimeDelta, base::TimeTicks)> | 171 typedef base::Callback<void(base::TimeDelta, base::TimeTicks)> |
172 TimeUpdateCallback; | 172 TimeUpdateCallback; |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
337 | 337 |
338 static const char* AsString(PlayerState state); | 338 static const char* AsString(PlayerState state); |
339 | 339 |
340 // Data. | 340 // Data. |
341 | 341 |
342 // Object for posting tasks on UI thread. | 342 // Object for posting tasks on UI thread. |
343 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; | 343 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; |
344 | 344 |
345 // Major components: demuxer, audio and video decoders. | 345 // Major components: demuxer, audio and video decoders. |
346 scoped_ptr<DemuxerAndroid> demuxer_; | 346 scoped_ptr<DemuxerAndroid> demuxer_; |
347 scoped_ptr<MediaCodecAudioDecoder> audio_decoder_; | 347 scoped_ptr<AudioMediaCodecDecoder> audio_decoder_; |
348 scoped_ptr<MediaCodecVideoDecoder> video_decoder_; | 348 scoped_ptr<VideoMediaCodecDecoder> video_decoder_; |
349 | 349 |
350 // The state of the state machine. | 350 // The state of the state machine. |
351 PlayerState state_; | 351 PlayerState state_; |
352 | 352 |
353 // Notification callbacks, they call MediaPlayerManager. | 353 // Notification callbacks, they call MediaPlayerManager. |
354 TimeUpdateCallback time_update_cb_; | 354 TimeUpdateCallback time_update_cb_; |
355 base::Closure completion_cb_; | 355 base::Closure completion_cb_; |
356 base::Closure waiting_for_decryption_key_cb_; | 356 base::Closure waiting_for_decryption_key_cb_; |
357 SeekDoneCallback seek_done_cb_; | 357 SeekDoneCallback seek_done_cb_; |
358 ErrorCallback error_cb_; | 358 ErrorCallback error_cb_; |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
418 base::WeakPtr<MediaCodecPlayer> media_weak_this_; | 418 base::WeakPtr<MediaCodecPlayer> media_weak_this_; |
419 // NOTE: Weak pointers must be invalidated before all other member variables. | 419 // NOTE: Weak pointers must be invalidated before all other member variables. |
420 base::WeakPtrFactory<MediaCodecPlayer> media_weak_factory_; | 420 base::WeakPtrFactory<MediaCodecPlayer> media_weak_factory_; |
421 | 421 |
422 DISALLOW_COPY_AND_ASSIGN(MediaCodecPlayer); | 422 DISALLOW_COPY_AND_ASSIGN(MediaCodecPlayer); |
423 }; | 423 }; |
424 | 424 |
425 } // namespace media | 425 } // namespace media |
426 | 426 |
427 #endif // MEDIA_BASE_ANDROID_MEDIA_CODEC_PLAYER_H_ | 427 #endif // MEDIA_BASE_ANDROID_MEDIA_CODEC_PLAYER_H_ |
OLD | NEW |