Index: content/renderer/media/media_recorder_handler.h |
diff --git a/content/renderer/media/media_recorder_handler.h b/content/renderer/media/media_recorder_handler.h |
index cc50c84ee84c9a371a423581f5faa614f16a9dca..6de4ebe0486607d9a55a497d9a61fc7e3435a3bb 100644 |
--- a/content/renderer/media/media_recorder_handler.h |
+++ b/content/renderer/media/media_recorder_handler.h |
@@ -12,6 +12,7 @@ |
#include "base/strings/string_piece.h" |
#include "base/threading/thread_checker.h" |
#include "content/common/content_export.h" |
+#include "content/renderer/media/media_stream.h" |
#include "third_party/WebKit/public/platform/WebMediaRecorderHandler.h" |
#include "third_party/WebKit/public/platform/WebMediaStream.h" |
@@ -42,7 +43,8 @@ class AudioTrackRecorder; |
// i.e. the Main Render thread. (Note that a BindToCurrentLoop is used to |
// guarantee this, since VideoTrackRecorder sends back frames on IO thread.) |
class CONTENT_EXPORT MediaRecorderHandler final |
- : public NON_EXPORTED_BASE(blink::WebMediaRecorderHandler) { |
+ : public NON_EXPORTED_BASE(blink::WebMediaRecorderHandler), |
+ public NON_EXPORTED_BASE(MediaStreamObserver) { |
public: |
MediaRecorderHandler(); |
~MediaRecorderHandler() override; |
@@ -51,7 +53,7 @@ class CONTENT_EXPORT MediaRecorderHandler final |
bool canSupportMimeType(const blink::WebString& web_type, |
const blink::WebString& web_codecs) override; |
bool initialize(blink::WebMediaRecorderHandlerClient* client, |
- const blink::WebMediaStream& media_stream, |
+ const blink::WebMediaStream& web_media_stream, |
const blink::WebString& type, |
const blink::WebString& codecs) override; |
bool start() override; |
@@ -60,6 +62,11 @@ class CONTENT_EXPORT MediaRecorderHandler final |
void pause() override; |
void resume() override; |
+ // MediaStreamObserver implementation. On MS modification, we stop recording |
+ // and signal this illegal condition to |client_|. |
+ void TrackAdded(const blink::WebMediaStreamTrack& track) override; |
+ void TrackRemoved(const blink::WebMediaStreamTrack& track) override; |
+ |
private: |
friend class MediaRecorderHandlerTest; |
@@ -91,7 +98,7 @@ class CONTENT_EXPORT MediaRecorderHandler final |
base::TimeTicks slice_origin_timestamp_; |
bool recording_; |
- blink::WebMediaStream media_stream_; // The MediaStream being recorded. |
+ blink::WebMediaStream web_media_stream_; // WebMediaStream being recorded. |
// |client_| is a weak pointer, and is valid for the lifetime of this object. |
blink::WebMediaRecorderHandlerClient* client_; |