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

Side by Side Diff: content/renderer/media/webrtc/webrtc_video_capturer_adapter_unittest.cc

Issue 183113004: Make sure MediaStreamVideoSource support cropping. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed extra spaces in content_unittests Created 6 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include <algorithm>
6
7 #include "content/renderer/media/webrtc/webrtc_video_capturer_adapter.h"
8 #include "media/base/video_frame.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 namespace content {
12
13 class WebRtcVideoCapturerAdapterTest
14 : public sigslot::has_slots<>,
15 public ::testing::Test {
16 public:
17 WebRtcVideoCapturerAdapterTest()
18 : adapter_(false),
19 output_frame_width_(0),
20 output_frame_height_(0) {
21 adapter_.SignalFrameCaptured.connect(
22 this, &WebRtcVideoCapturerAdapterTest::OnFrameCaptured);
23 }
24 virtual ~WebRtcVideoCapturerAdapterTest() {}
25
26 void TestSourceCropFrame(int capture_width,
27 int capture_height,
28 int expected_width,
29 int expected_height) {
30 const int visible_width = std::min(capture_width, expected_width);
31 const int horiz_crop = ((capture_width - visible_width) / 2);
32 const int visible_height = std::min(capture_height, expected_height);
33 const int vert_crop = ((expected_height - visible_height) / 2);
34
35 gfx::Size coded_size(capture_width, capture_height);
36 gfx::Rect view_rect(horiz_crop, vert_crop, visible_width, visible_height);
37 scoped_refptr<media::VideoFrame> frame =
38 media::VideoFrame::CreateFrame(media::VideoFrame::I420,
39 coded_size, view_rect, coded_size,
40 base::TimeDelta());
41 adapter_.OnFrameCaptured(frame);
42 EXPECT_EQ(expected_width, output_frame_width_);
43 EXPECT_EQ(expected_height, output_frame_height_);
44 }
45 protected:
46 void OnFrameCaptured(cricket::VideoCapturer* capturer,
47 const cricket::CapturedFrame* frame) {
48 output_frame_width_ = frame->width;
49 output_frame_height_ = frame->height;
50 }
51
52 private:
53 WebRtcVideoCapturerAdapter adapter_;
54 int output_frame_width_;
55 int output_frame_height_;
56 };
57
58 TEST_F(WebRtcVideoCapturerAdapterTest, CropFrameTo640360) {
59 TestSourceCropFrame(640, 480, 640, 360);
60 }
61
62 TEST_F(WebRtcVideoCapturerAdapterTest, CropFrameTo732489) {
63 TestSourceCropFrame(1280, 720, 731, 489);
64 }
65
66 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698