Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Unified Diff: content/renderer/media/webmediaplayer_ms.h

Issue 2969093002: Make rendering of MediaStreams reflect changes to its set of tracks. (Closed)
Patch Set: rebase Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/webmediaplayer_ms.h
diff --git a/content/renderer/media/webmediaplayer_ms.h b/content/renderer/media/webmediaplayer_ms.h
index 24f34c0e0f8df1e99c370259a3559ee6ae556ad5..07c84c26dd93eed4ae1aa3e9504641c178f627b4 100644
--- a/content/renderer/media/webmediaplayer_ms.h
+++ b/content/renderer/media/webmediaplayer_ms.h
@@ -14,6 +14,7 @@
#include "base/synchronization/lock.h"
#include "base/threading/thread_checker.h"
#include "content/common/content_export.h"
+#include "content/renderer/media/media_stream.h"
#include "media/blink/webmediaplayer_delegate.h"
#include "media/blink/webmediaplayer_util.h"
#include "media/renderers/gpu_video_accelerator_factories.h"
@@ -62,7 +63,8 @@ class WebMediaPlayerMSCompositor;
// blink::WebMediaPlayerClient
// WebKit client of this media player object.
class CONTENT_EXPORT WebMediaPlayerMS
- : public NON_EXPORTED_BASE(blink::WebMediaPlayer),
+ : public NON_EXPORTED_BASE(MediaStreamObserver),
+ public NON_EXPORTED_BASE(blink::WebMediaPlayer),
public NON_EXPORTED_BASE(media::WebMediaPlayerDelegate::Observer),
public NON_EXPORTED_BASE(base::SupportsWeakPtr<WebMediaPlayerMS>) {
public:
@@ -179,6 +181,10 @@ class CONTENT_EXPORT WebMediaPlayerMS
bool flip_y,
bool premultiply_alpha) override;
+ // MediaStreamObserver implementation
+ void TrackAdded(const blink::WebMediaStreamTrack& track) override;
+ void TrackRemoved(const blink::WebMediaStreamTrack& track) override;
+
private:
friend class WebMediaPlayerMSTest;
@@ -201,6 +207,11 @@ class CONTENT_EXPORT WebMediaPlayerMS
// Getter method to |client_|.
blink::WebMediaPlayerClient* get_client() { return client_; }
+ // To be run when tracks are added or removed.
+ void Reload();
+ void ReloadVideo();
+ void ReloadAudio();
+
blink::WebLocalFrame* const frame_;
blink::WebMediaPlayer::NetworkState network_state_;
@@ -266,6 +277,10 @@ class CONTENT_EXPORT WebMediaPlayerMS
// True if playback should be started upon the next call to OnShown(). Only
// used on Android.
bool should_play_upon_shown_;
+ blink::WebMediaStream web_stream_;
+ // IDs of the tracks currently played.
+ blink::WebString current_video_track_id_;
+ blink::WebString current_audio_track_id_;
DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerMS);
};
« no previous file with comments | « content/browser/webrtc/webrtc_getusermedia_browsertest.cc ('k') | content/renderer/media/webmediaplayer_ms.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698