| Index: media/base/android/media_player_bridge.h
|
| diff --git a/media/base/android/media_player_bridge.h b/media/base/android/media_player_bridge.h
|
| index 81e4511f89c4a06276240bffe1988e3ea06f0d66..e1a105a9fac720b182a1f8bb511f49b377196fc1 100644
|
| --- a/media/base/android/media_player_bridge.h
|
| +++ b/media/base/android/media_player_bridge.h
|
| @@ -105,6 +105,8 @@ class MEDIA_EXPORT MediaPlayerBridge : public MediaPlayerAndroid {
|
| virtual base::android::ScopedJavaLocalRef<jobject> GetAllowedOperations();
|
|
|
| private:
|
| + friend class MediaPlayerListener;
|
| +
|
| // Set the data source for the media player.
|
| void SetDataSource(const std::string& url);
|
|
|
| @@ -166,18 +168,19 @@ class MEDIA_EXPORT MediaPlayerBridge : public MediaPlayerAndroid {
|
| // Java MediaPlayerBridge instance.
|
| base::android::ScopedJavaGlobalRef<jobject> j_media_player_bridge_;
|
|
|
| - base::RepeatingTimer<MediaPlayerBridge> time_update_timer_;
|
| -
|
| - // Weak pointer passed to |listener_| for callbacks.
|
| - base::WeakPtrFactory<MediaPlayerBridge> weak_this_;
|
| -
|
| // Listener object that listens to all the media player events.
|
| - MediaPlayerListener listener_;
|
| + scoped_ptr<MediaPlayerListener> listener_;
|
|
|
| // Whether player is currently using a surface.
|
| bool is_surface_in_use_;
|
|
|
| - friend class MediaPlayerListener;
|
| + base::RepeatingTimer<MediaPlayerBridge> time_update_timer_;
|
| +
|
| + // Weak pointer passed to |listener_| for callbacks. NOTE: This must always
|
| + // be last so it's invalidated before other member variables might be
|
| + // accessed.
|
| + base::WeakPtrFactory<MediaPlayerBridge> weak_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(MediaPlayerBridge);
|
| };
|
|
|
|
|