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

Unified Diff: content/browser/webrtc/webrtc_getusermedia_browsertest.cc

Issue 2428263004: 16 bpp video stream capture, render and createImageBitmap(video) using (CPU) shared memory buffers (Closed)
Patch Set: Set FakeVCD count-devices=2 for webrtc_getusermedia_browsertest only. Created 4 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: content/browser/webrtc/webrtc_getusermedia_browsertest.cc
diff --git a/content/browser/webrtc/webrtc_getusermedia_browsertest.cc b/content/browser/webrtc/webrtc_getusermedia_browsertest.cc
index 33e294510546c2c6512cf7824fdd871b3af6f8a6..9c8a7d3625d0551d85be50c440b33b4357d89776 100644
--- a/content/browser/webrtc/webrtc_getusermedia_browsertest.cc
+++ b/content/browser/webrtc/webrtc_getusermedia_browsertest.cc
@@ -8,6 +8,7 @@
#include "base/json/json_reader.h"
#include "base/memory/ref_counted_memory.h"
#include "base/strings/stringprintf.h"
+#include "base/strings/utf_string_conversions.h"
#include "base/test/trace_event_analyzer.h"
#include "base/threading/thread_restrictions.h"
#include "base/trace_event/trace_event_impl.h"
@@ -23,6 +24,7 @@
#include "content/public/test/content_browser_test_utils.h"
#include "content/public/test/test_utils.h"
#include "content/shell/browser/shell.h"
+#include "media/base/media_switches.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "testing/perf/perf_test.h"
@@ -50,6 +52,8 @@ static const char kRenderClonedTrackMediastreamAndStop[] =
"renderClonedTrackMediastreamAndStop";
static const char kRenderDuplicatedMediastreamAndStop[] =
"renderDuplicatedMediastreamAndStop";
+static const char kGetDepthStreamAndCallCreateImageBitmap[] =
+ "getDepthStreamAndCallCreateImageBitmap";
// Results returned by JS.
static const char kOK[] = "OK";
@@ -95,6 +99,24 @@ bool VerifyDisableLocalEcho(bool expect_value,
return expect_value == controls.disable_local_echo;
}
+void RemoveSwitchFromCommandLine(base::CommandLine* command_line,
+ const std::string& switch_value) {
+ base::CommandLine::StringVector argv = command_line->argv();
+ const base::CommandLine::StringType switch_string =
+#if defined(OS_WIN)
+ base::ASCIIToUTF16(switch_value);
+#else
+ switch_value;
+#endif
+ argv.erase(std::remove_if(
+ argv.begin(), argv.end(),
+ [switch_string](const base::CommandLine::StringType& value) {
+ return value.find(switch_string) != std::string::npos;
+ }),
+ argv.end());
+ command_line->InitFromArgv(argv);
+}
+
} // namespace
namespace content {
@@ -107,6 +129,19 @@ class WebRtcGetUserMediaBrowserTest : public WebRtcContentBrowserTestBase {
}
~WebRtcGetUserMediaBrowserTest() override {}
+ void SetUpCommandLine(base::CommandLine* command_line) override {
aleksandar.stojiljkovic 2016/10/30 11:08:39 avi@chromium.org, This change came after LGTM when
+ // Test using two video capture devices - a color and a 16-bit depth device.
+ // By default, command line argument is present with no value. We need to
+ // remove it and then add the value defining two video capture devices.
+ const std::string fake_device_switch =
+ switches::kUseFakeDeviceForMediaStream;
phoglund_chromium 2016/11/02 10:56:57 Well, your new test does appear to use getUserMedi
aleksandar.stojiljkovic 2016/11/02 13:46:44 Done. Good idea - there are more tests coming and
+ ASSERT_TRUE(command_line->HasSwitch(fake_device_switch) &&
+ command_line->GetSwitchValueASCII(fake_device_switch).empty());
+ RemoveSwitchFromCommandLine(command_line, fake_device_switch);
+ command_line->AppendSwitchASCII(fake_device_switch, "device-count=2");
+ WebRtcContentBrowserTestBase::SetUpCommandLine(command_line);
+ }
+
void StartTracing() {
CHECK(trace_log_ == NULL) << "Can only can start tracing once";
trace_log_ = base::trace_event::TraceLog::GetInstance();
@@ -344,6 +379,17 @@ IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest,
}
IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest,
+ GetDepthStreamAndCallCreateImageBitmap) {
+ ASSERT_TRUE(embedded_test_server()->Start());
+
+ GURL url(embedded_test_server()->GetURL("/media/getusermedia.html"));
+ NavigateToURL(shell(), url);
+
+ ExecuteJavascriptAndWaitForOk(base::StringPrintf(
+ "%s({video: true});", kGetDepthStreamAndCallCreateImageBitmap));
+}
+
+IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest,
GetAudioAndVideoStreamAndStop) {
ASSERT_TRUE(embedded_test_server()->Start());
« no previous file with comments | « content/browser/renderer_host/media/video_capture_manager.cc ('k') | content/renderer/media/video_capture_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698