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 453923b9638f67c860d1ec2c27617a226abe94dd..ebeac115d4cdc4c937c0bdbce338a44787fb9838 100644 |
--- a/content/renderer/media/media_recorder_handler.h |
+++ b/content/renderer/media/media_recorder_handler.h |
@@ -11,6 +11,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" |
@@ -41,7 +42,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; |
@@ -59,6 +61,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; |