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

Unified Diff: components/test_runner/renderer/mock_video_capturer_source.cc

Issue 1371373002: Extend components/test_runner's generated WebMediaStream to have a ChromeMock VideoTrack and Source (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: mazzoni@ comments, web_view/test_runner build, rebase, cleaned up requestUserMedia() Created 5 years, 2 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: components/test_runner/renderer/mock_video_capturer_source.cc
diff --git a/components/test_runner/renderer/mock_video_capturer_source.cc b/components/test_runner/renderer/mock_video_capturer_source.cc
new file mode 100644
index 0000000000000000000000000000000000000000..5b4962f01efb79876f3f43b3c9eb324f17e30d79
--- /dev/null
+++ b/components/test_runner/renderer/mock_video_capturer_source.cc
@@ -0,0 +1,67 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/test_runner/renderer/mock_video_capturer_source.h"
+
+#if defined(ENABLE_WEBRTC)
+
+#include "content/public/renderer/media_stream_api.h"
+
+#else
+
+#include "third_party/WebKit/public/platform/WebMediaStream.h"
+#include "third_party/WebKit/public/platform/WebMediaStreamSource.h"
+#include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
+#include "third_party/WebKit/public/platform/WebString.h"
+
+#endif
+
+#if defined(ENABLE_WEBRTC)
+
+namespace {
+
+class MockVideoCapturerSource : public media::VideoCapturerSource {
+ public:
+ MockVideoCapturerSource() = default;
+ ~MockVideoCapturerSource() override {}
+
+ void GetCurrentSupportedFormats(
+ int max_requested_width,
+ int max_requested_height,
+ double max_requested_frame_rate,
+ const VideoCaptureDeviceFormatsCB& callback) override {}
+ void StartCapture(
+ const media::VideoCaptureParams& params,
+ const VideoCaptureDeliverFrameCB& new_frame_callback,
+ const RunningCallback& running_callback) override {}
+ void StopCapture() override {}
+};
+
+} // namespace anonymous
+
+#endif
+
+namespace test_runner {
+
+void AddVideoTrackToMediaStream(blink::WebMediaStream* stream) {
+#if defined(ENABLE_WEBRTC)
+ content::AddVideoTrackToMediaStream(
+ make_scoped_ptr(new MockVideoCapturerSource()),
+ false /*is _remote */,
+ true /* is_readonly */,
+ stream);
+#else
+ blink::WebMediaStreamSource source;
+ source.initialize("MockVideoDevice#1",
+ blink::WebMediaStreamSource::TypeVideo,
+ "Mock video device",
+ false /* remote */,
+ true /* readonly */);
+ blink::WebMediaStreamTrack web_track;
+ web_track.initialize(source);
+ stream->addTrack(web_track);
+#endif
+}
+
+} // namespace test_runner

Powered by Google App Engine
This is Rietveld 408576698