| 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 CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ |
| 6 #define CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ | 6 #define CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ |
| 7 | 7 |
| 8 #include <jni.h> | 8 #include <jni.h> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
| 13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
| 14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
| 15 #include "base/memory/weak_ptr.h" | 15 #include "base/memory/weak_ptr.h" |
| 16 #include "base/threading/thread_checker.h" | 16 #include "base/threading/thread_checker.h" |
| 17 #include "base/time/default_tick_clock.h" |
| 17 #include "base/time/time.h" | 18 #include "base/time/time.h" |
| 18 #include "cc/layers/video_frame_provider.h" | 19 #include "cc/layers/video_frame_provider.h" |
| 19 #include "content/common/media/media_player_messages_enums_android.h" | 20 #include "content/common/media/media_player_messages_enums_android.h" |
| 20 #include "content/public/renderer/render_frame_observer.h" | 21 #include "content/public/renderer/render_frame_observer.h" |
| 21 #include "content/renderer/media/android/media_info_loader.h" | 22 #include "content/renderer/media/android/media_info_loader.h" |
| 22 #include "content/renderer/media/android/media_source_delegate.h" | 23 #include "content/renderer/media/android/media_source_delegate.h" |
| 23 #include "content/renderer/media/android/stream_texture_factory.h" | 24 #include "content/renderer/media/android/stream_texture_factory.h" |
| 24 #include "content/renderer/media/crypto/proxy_decryptor.h" | 25 #include "content/renderer/media/crypto/proxy_decryptor.h" |
| 25 #include "gpu/command_buffer/common/mailbox.h" | 26 #include "gpu/command_buffer/common/mailbox.h" |
| 26 #include "media/base/android/media_player_android.h" | 27 #include "media/base/android/media_player_android.h" |
| 27 #include "media/base/demuxer_stream.h" | 28 #include "media/base/demuxer_stream.h" |
| 28 #include "media/base/media_keys.h" | 29 #include "media/base/media_keys.h" |
| 30 #include "media/base/time_delta_interpolator.h" |
| 29 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" | 31 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" |
| 30 #include "third_party/WebKit/public/platform/WebMediaPlayer.h" | 32 #include "third_party/WebKit/public/platform/WebMediaPlayer.h" |
| 31 #include "third_party/WebKit/public/platform/WebSize.h" | 33 #include "third_party/WebKit/public/platform/WebSize.h" |
| 32 #include "third_party/WebKit/public/platform/WebURL.h" | 34 #include "third_party/WebKit/public/platform/WebURL.h" |
| 33 #include "third_party/skia/include/core/SkBitmap.h" | 35 #include "third_party/skia/include/core/SkBitmap.h" |
| 34 #include "third_party/skia/include/gpu/GrContext.h" | 36 #include "third_party/skia/include/gpu/GrContext.h" |
| 35 #include "third_party/skia/include/gpu/SkGrPixelRef.h" | 37 #include "third_party/skia/include/gpu/SkGrPixelRef.h" |
| 36 #include "ui/gfx/rect_f.h" | 38 #include "ui/gfx/rect_f.h" |
| 37 | 39 |
| 38 namespace base { | 40 namespace base { |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 int height, bool success); | 180 int height, bool success); |
| 179 void OnPlaybackComplete(); | 181 void OnPlaybackComplete(); |
| 180 void OnBufferingUpdate(int percentage); | 182 void OnBufferingUpdate(int percentage); |
| 181 void OnSeekRequest(const base::TimeDelta& time_to_seek); | 183 void OnSeekRequest(const base::TimeDelta& time_to_seek); |
| 182 void OnSeekComplete(const base::TimeDelta& current_time); | 184 void OnSeekComplete(const base::TimeDelta& current_time); |
| 183 void OnMediaError(int error_type); | 185 void OnMediaError(int error_type); |
| 184 void OnVideoSizeChanged(int width, int height); | 186 void OnVideoSizeChanged(int width, int height); |
| 185 void OnDurationChanged(const base::TimeDelta& duration); | 187 void OnDurationChanged(const base::TimeDelta& duration); |
| 186 | 188 |
| 187 // Called to update the current time. | 189 // Called to update the current time. |
| 188 void OnTimeUpdate(const base::TimeDelta& current_time); | 190 void OnTimeUpdate(base::TimeDelta current_timestamp, |
| 191 base::TimeTicks current_time_ticks); |
| 189 | 192 |
| 190 // Functions called when media player status changes. | 193 // Functions called when media player status changes. |
| 191 void OnConnectedToRemoteDevice(const std::string& remote_playback_message); | 194 void OnConnectedToRemoteDevice(const std::string& remote_playback_message); |
| 192 void OnDisconnectedFromRemoteDevice(); | 195 void OnDisconnectedFromRemoteDevice(); |
| 193 void OnDidEnterFullscreen(); | 196 void OnDidEnterFullscreen(); |
| 194 void OnDidExitFullscreen(); | 197 void OnDidExitFullscreen(); |
| 195 void OnMediaPlayerPlay(); | 198 void OnMediaPlayerPlay(); |
| 196 void OnMediaPlayerPause(); | 199 void OnMediaPlayerPause(); |
| 197 void OnRequestFullscreen(); | 200 void OnRequestFullscreen(); |
| 198 | 201 |
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 448 | 451 |
| 449 scoped_ptr<MediaSourceDelegate, | 452 scoped_ptr<MediaSourceDelegate, |
| 450 MediaSourceDelegate::Destroyer> media_source_delegate_; | 453 MediaSourceDelegate::Destroyer> media_source_delegate_; |
| 451 | 454 |
| 452 // Internal pending playback state. | 455 // Internal pending playback state. |
| 453 // Store a playback request that cannot be started immediately. | 456 // Store a playback request that cannot be started immediately. |
| 454 bool pending_playback_; | 457 bool pending_playback_; |
| 455 | 458 |
| 456 MediaPlayerHostMsg_Initialize_Type player_type_; | 459 MediaPlayerHostMsg_Initialize_Type player_type_; |
| 457 | 460 |
| 458 // The current playing time. Because the media player is in the browser | |
| 459 // process, it will regularly update the |current_time_| by calling | |
| 460 // OnTimeUpdate(). | |
| 461 double current_time_; | |
| 462 | |
| 463 // Whether the browser is currently connected to a remote media player. | 461 // Whether the browser is currently connected to a remote media player. |
| 464 bool is_remote_; | 462 bool is_remote_; |
| 465 | 463 |
| 466 scoped_refptr<media::MediaLog> media_log_; | 464 scoped_refptr<media::MediaLog> media_log_; |
| 467 | 465 |
| 468 scoped_ptr<MediaInfoLoader> info_loader_; | 466 scoped_ptr<MediaInfoLoader> info_loader_; |
| 469 | 467 |
| 470 // The currently selected key system. Empty string means that no key system | 468 // The currently selected key system. Empty string means that no key system |
| 471 // has been selected. | 469 // has been selected. |
| 472 std::string current_key_system_; | 470 std::string current_key_system_; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 489 media::DecryptorReadyCB decryptor_ready_cb_; | 487 media::DecryptorReadyCB decryptor_ready_cb_; |
| 490 | 488 |
| 491 SkBitmap bitmap_; | 489 SkBitmap bitmap_; |
| 492 | 490 |
| 493 // Whether stored credentials are allowed to be passed to the server. | 491 // Whether stored credentials are allowed to be passed to the server. |
| 494 bool allow_stored_credentials_; | 492 bool allow_stored_credentials_; |
| 495 | 493 |
| 496 // Whether the resource is local. | 494 // Whether the resource is local. |
| 497 bool is_local_resource_; | 495 bool is_local_resource_; |
| 498 | 496 |
| 497 // base::TickClock used by |interpolator_|. |
| 498 base::DefaultTickClock default_tick_clock_; |
| 499 |
| 500 // Tracks the most recent media time update and provides interpolated values |
| 501 // as playback progresses. |
| 502 media::TimeDeltaInterpolator interpolator_; |
| 503 |
| 499 // NOTE: Weak pointers must be invalidated before all other member variables. | 504 // NOTE: Weak pointers must be invalidated before all other member variables. |
| 500 base::WeakPtrFactory<WebMediaPlayerAndroid> weak_factory_; | 505 base::WeakPtrFactory<WebMediaPlayerAndroid> weak_factory_; |
| 501 | 506 |
| 502 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerAndroid); | 507 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerAndroid); |
| 503 }; | 508 }; |
| 504 | 509 |
| 505 } // namespace content | 510 } // namespace content |
| 506 | 511 |
| 507 #endif // CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ | 512 #endif // CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ |
| OLD | NEW |