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

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtcp_packet/rpsi_unittest.cc

Issue 1583233007: [rtp_rtcp] rtcp::Rpsi moved into own file (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 11 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
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/rpsi.h"
12
13 #include "testing/gmock/include/gmock/gmock.h"
14 #include "testing/gtest/include/gtest/gtest.h"
15
16 #include "webrtc/test/rtcp_packet_parser.h"
17
18 using webrtc::rtcp::RawPacket;
19 using webrtc::rtcp::Rpsi;
20 using webrtc::test::RtcpPacketParser;
21
22 namespace webrtc {
23
24 TEST(RtcpPacketRpsiTest, WithOneByteNativeString) {
25 Rpsi rpsi;
26 // 1000001 (7 bits = 1 byte in native string).
27 const uint64_t kPictureId = 0x41;
28 const uint16_t kNumberOfValidBytes = 1;
29 rpsi.WithPayloadType(100);
30 rpsi.WithPictureId(kPictureId);
31
32 rtc::scoped_ptr<RawPacket> packet(rpsi.Build());
33 RtcpPacketParser parser;
34 parser.Parse(packet->Buffer(), packet->Length());
35 EXPECT_EQ(100, parser.rpsi()->PayloadType());
36 EXPECT_EQ(kNumberOfValidBytes * 8, parser.rpsi()->NumberOfValidBits());
37 EXPECT_EQ(kPictureId, parser.rpsi()->PictureId());
38 }
39
40 TEST(RtcpPacketRpsiTest, WithTwoByteNativeString) {
41 Rpsi rpsi;
42 // |1 0000001 (7 bits = 1 byte in native string).
43 const uint64_t kPictureId = 0x81;
44 const uint16_t kNumberOfValidBytes = 2;
45 rpsi.WithPictureId(kPictureId);
46
47 rtc::scoped_ptr<RawPacket> packet(rpsi.Build());
48 RtcpPacketParser parser;
49 parser.Parse(packet->Buffer(), packet->Length());
50 EXPECT_EQ(kNumberOfValidBytes * 8, parser.rpsi()->NumberOfValidBits());
51 EXPECT_EQ(kPictureId, parser.rpsi()->PictureId());
52 }
53
54 TEST(RtcpPacketRpsiTest, WithThreeByteNativeString) {
55 Rpsi rpsi;
56 // 10000|00 100000|0 1000000 (7 bits = 1 byte in native string).
57 const uint64_t kPictureId = 0x102040;
58 const uint16_t kNumberOfValidBytes = 3;
59 rpsi.WithPictureId(kPictureId);
60
61 rtc::scoped_ptr<RawPacket> packet(rpsi.Build());
62 RtcpPacketParser parser;
63 parser.Parse(packet->Buffer(), packet->Length());
64 EXPECT_EQ(kNumberOfValidBytes * 8, parser.rpsi()->NumberOfValidBits());
65 EXPECT_EQ(kPictureId, parser.rpsi()->PictureId());
66 }
67
68 TEST(RtcpPacketRpsiTest, WithFourByteNativeString) {
69 Rpsi rpsi;
70 // 1000|001 00001|01 100001|1 1000010 (7 bits = 1 byte in native string).
71 const uint64_t kPictureId = 0x84161C2;
72 const uint16_t kNumberOfValidBytes = 4;
73 rpsi.WithPictureId(kPictureId);
74
75 rtc::scoped_ptr<RawPacket> packet(rpsi.Build());
76 RtcpPacketParser parser;
77 parser.Parse(packet->Buffer(), packet->Length());
78 EXPECT_EQ(kNumberOfValidBytes * 8, parser.rpsi()->NumberOfValidBits());
79 EXPECT_EQ(kPictureId, parser.rpsi()->PictureId());
80 }
81
82 TEST(RtcpPacketRpsiTest, WithMaxPictureId) {
83 Rpsi rpsi;
84 // 1 1111111| 1111111 1|111111 11|11111 111|1111 1111|111 11111|
85 // 11 111111|1 1111111 (7 bits = 1 byte in native string).
86 const uint64_t kPictureId = 0xffffffffffffffff;
87 const uint16_t kNumberOfValidBytes = 10;
88 rpsi.WithPictureId(kPictureId);
89
90 rtc::scoped_ptr<RawPacket> packet(rpsi.Build());
91 RtcpPacketParser parser;
92 parser.Parse(packet->Buffer(), packet->Length());
93 EXPECT_EQ(kNumberOfValidBytes * 8, parser.rpsi()->NumberOfValidBits());
94 EXPECT_EQ(kPictureId, parser.rpsi()->PictureId());
95 }
96
97 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_packet/rpsi.cc ('k') | webrtc/modules/rtp_rtcp/source/rtcp_packet_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698