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

Side by Side Diff: remoting/codec/video_encoder_helper_unittest.cc

Issue 1864213002: Convert //remoting to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mac IWYU Created 4 years, 8 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
« no previous file with comments | « remoting/codec/video_encoder_helper.cc ('k') | remoting/codec/video_encoder_verbatim.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/codec/video_encoder_helper.h" 5 #include "remoting/codec/video_encoder_helper.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include <memory>
8
8 #include "remoting/proto/video.pb.h" 9 #include "remoting/proto/video.pb.h"
9 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
10 #include "third_party/webrtc/modules/desktop_capture/desktop_frame.h" 11 #include "third_party/webrtc/modules/desktop_capture/desktop_frame.h"
11 12
12 using webrtc::BasicDesktopFrame; 13 using webrtc::BasicDesktopFrame;
13 using webrtc::DesktopRect; 14 using webrtc::DesktopRect;
14 using webrtc::DesktopRegion; 15 using webrtc::DesktopRegion;
15 using webrtc::DesktopSize; 16 using webrtc::DesktopSize;
16 using webrtc::DesktopVector; 17 using webrtc::DesktopVector;
17 18
18 namespace remoting { 19 namespace remoting {
19 20
20 TEST(VideoEncoderHelperTest, PropagatesCommonFields) { 21 TEST(VideoEncoderHelperTest, PropagatesCommonFields) {
21 BasicDesktopFrame frame(DesktopSize(32, 32)); 22 BasicDesktopFrame frame(DesktopSize(32, 32));
22 frame.set_dpi(DesktopVector(96, 97)); 23 frame.set_dpi(DesktopVector(96, 97));
23 frame.set_capture_time_ms(20); 24 frame.set_capture_time_ms(20);
24 frame.mutable_updated_region()->SetRect(DesktopRect::MakeLTRB(0, 0, 16, 16)); 25 frame.mutable_updated_region()->SetRect(DesktopRect::MakeLTRB(0, 0, 16, 16));
25 26
26 VideoEncoderHelper helper; 27 VideoEncoderHelper helper;
27 scoped_ptr<VideoPacket> packet(helper.CreateVideoPacket(frame)); 28 std::unique_ptr<VideoPacket> packet(helper.CreateVideoPacket(frame));
28 29
29 ASSERT_TRUE(packet->has_format()); 30 ASSERT_TRUE(packet->has_format());
30 EXPECT_FALSE(packet->format().has_encoding()); 31 EXPECT_FALSE(packet->format().has_encoding());
31 EXPECT_TRUE(packet->format().has_screen_width()); 32 EXPECT_TRUE(packet->format().has_screen_width());
32 EXPECT_TRUE(packet->format().has_screen_height()); 33 EXPECT_TRUE(packet->format().has_screen_height());
33 EXPECT_TRUE(packet->format().has_x_dpi()); 34 EXPECT_TRUE(packet->format().has_x_dpi());
34 EXPECT_TRUE(packet->format().has_y_dpi()); 35 EXPECT_TRUE(packet->format().has_y_dpi());
35 36
36 EXPECT_EQ(1, packet->dirty_rects().size()); 37 EXPECT_EQ(1, packet->dirty_rects().size());
37 } 38 }
38 39
39 TEST(VideoEncoderHelperTest, ZeroDpi) { 40 TEST(VideoEncoderHelperTest, ZeroDpi) {
40 BasicDesktopFrame frame(DesktopSize(32, 32)); 41 BasicDesktopFrame frame(DesktopSize(32, 32));
41 // DPI is zero unless explicitly set. 42 // DPI is zero unless explicitly set.
42 43
43 VideoEncoderHelper helper; 44 VideoEncoderHelper helper;
44 scoped_ptr<VideoPacket> packet(helper.CreateVideoPacket(frame)); 45 std::unique_ptr<VideoPacket> packet(helper.CreateVideoPacket(frame));
45 46
46 // Packet should have a format containing the screen dimensions only. 47 // Packet should have a format containing the screen dimensions only.
47 ASSERT_TRUE(packet->has_format()); 48 ASSERT_TRUE(packet->has_format());
48 EXPECT_TRUE(packet->format().has_screen_width()); 49 EXPECT_TRUE(packet->format().has_screen_width());
49 EXPECT_TRUE(packet->format().has_screen_height()); 50 EXPECT_TRUE(packet->format().has_screen_height());
50 EXPECT_FALSE(packet->format().has_x_dpi()); 51 EXPECT_FALSE(packet->format().has_x_dpi());
51 EXPECT_FALSE(packet->format().has_y_dpi()); 52 EXPECT_FALSE(packet->format().has_y_dpi());
52 } 53 }
53 54
54 TEST(VideoEncoderHelperTest, NoScreenSizeIfUnchanged) { 55 TEST(VideoEncoderHelperTest, NoScreenSizeIfUnchanged) {
55 BasicDesktopFrame frame(DesktopSize(32, 32)); 56 BasicDesktopFrame frame(DesktopSize(32, 32));
56 // Set DPI so that the packet will have a format, with DPI but no size. 57 // Set DPI so that the packet will have a format, with DPI but no size.
57 frame.set_dpi(DesktopVector(96, 97)); 58 frame.set_dpi(DesktopVector(96, 97));
58 59
59 VideoEncoderHelper helper; 60 VideoEncoderHelper helper;
60 scoped_ptr<VideoPacket> packet(helper.CreateVideoPacket(frame)); 61 std::unique_ptr<VideoPacket> packet(helper.CreateVideoPacket(frame));
61 packet = helper.CreateVideoPacket(frame); 62 packet = helper.CreateVideoPacket(frame);
62 63
63 ASSERT_TRUE(packet->has_format()); 64 ASSERT_TRUE(packet->has_format());
64 EXPECT_FALSE(packet->format().has_screen_width()); 65 EXPECT_FALSE(packet->format().has_screen_width());
65 EXPECT_FALSE(packet->format().has_screen_height()); 66 EXPECT_FALSE(packet->format().has_screen_height());
66 EXPECT_TRUE(packet->format().has_x_dpi()); 67 EXPECT_TRUE(packet->format().has_x_dpi());
67 EXPECT_TRUE(packet->format().has_y_dpi()); 68 EXPECT_TRUE(packet->format().has_y_dpi());
68 } 69 }
69 70
70 TEST(VideoEncoderHelperTest, ScreenSizeWhenChanged) { 71 TEST(VideoEncoderHelperTest, ScreenSizeWhenChanged) {
71 VideoEncoderHelper helper; 72 VideoEncoderHelper helper;
72 73
73 // Process the same frame twice, so the helper knows the current size, and 74 // Process the same frame twice, so the helper knows the current size, and
74 // to trigger suppression of the size field due to the size not changing. 75 // to trigger suppression of the size field due to the size not changing.
75 BasicDesktopFrame frame1(DesktopSize(32, 32)); 76 BasicDesktopFrame frame1(DesktopSize(32, 32));
76 scoped_ptr<VideoPacket> packet(helper.CreateVideoPacket(frame1)); 77 std::unique_ptr<VideoPacket> packet(helper.CreateVideoPacket(frame1));
77 packet = helper.CreateVideoPacket(frame1); 78 packet = helper.CreateVideoPacket(frame1);
78 79
79 // Process a different-sized frame to trigger size to be emitted. 80 // Process a different-sized frame to trigger size to be emitted.
80 BasicDesktopFrame frame2(DesktopSize(48, 48)); 81 BasicDesktopFrame frame2(DesktopSize(48, 48));
81 packet = helper.CreateVideoPacket(frame2); 82 packet = helper.CreateVideoPacket(frame2);
82 83
83 ASSERT_TRUE(packet->has_format()); 84 ASSERT_TRUE(packet->has_format());
84 EXPECT_TRUE(packet->format().has_screen_width()); 85 EXPECT_TRUE(packet->format().has_screen_width());
85 EXPECT_TRUE(packet->format().has_screen_height()); 86 EXPECT_TRUE(packet->format().has_screen_height());
86 } 87 }
87 88
88 } // namespace remoting 89 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/codec/video_encoder_helper.cc ('k') | remoting/codec/video_encoder_verbatim.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698