| 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 |