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

Side by Side Diff: webrtc/modules/audio_coding/neteq/tools/rtp_generator.h

Issue 2809153002: Change from WebRtcRTPHeader to RTPHeader in NetEq tests and tools (Closed)
Patch Set: Fixing neteq_rtp_fuzzer Created 3 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 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 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 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_RTP_GENERATOR_H_ 11 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_RTP_GENERATOR_H_
12 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_RTP_GENERATOR_H_ 12 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_RTP_GENERATOR_H_
13 13
14 #include "webrtc/base/constructormagic.h" 14 #include "webrtc/base/constructormagic.h"
15 #include "webrtc/modules/include/module_common_types.h" 15 #include "webrtc/common_types.h"
16 #include "webrtc/typedefs.h" 16 #include "webrtc/typedefs.h"
17 17
18 namespace webrtc { 18 namespace webrtc {
19 namespace test { 19 namespace test {
20 20
21 // Class for generating RTP headers. 21 // Class for generating RTP headers.
22 class RtpGenerator { 22 class RtpGenerator {
23 public: 23 public:
24 RtpGenerator(int samples_per_ms, 24 RtpGenerator(int samples_per_ms,
25 uint16_t start_seq_number = 0, 25 uint16_t start_seq_number = 0,
26 uint32_t start_timestamp = 0, 26 uint32_t start_timestamp = 0,
27 uint32_t start_send_time_ms = 0, 27 uint32_t start_send_time_ms = 0,
28 uint32_t ssrc = 0x12345678) 28 uint32_t ssrc = 0x12345678)
29 : seq_number_(start_seq_number), 29 : seq_number_(start_seq_number),
30 timestamp_(start_timestamp), 30 timestamp_(start_timestamp),
31 next_send_time_ms_(start_send_time_ms), 31 next_send_time_ms_(start_send_time_ms),
32 ssrc_(ssrc), 32 ssrc_(ssrc),
33 samples_per_ms_(samples_per_ms), 33 samples_per_ms_(samples_per_ms),
34 drift_factor_(0.0) { 34 drift_factor_(0.0) {
35 } 35 }
36 36
37 virtual ~RtpGenerator() {} 37 virtual ~RtpGenerator() {}
38 38
39 // Writes the next RTP header to |rtp_header|, which will be of type 39 // Writes the next RTP header to |rtp_header|, which will be of type
40 // |payload_type|. Returns the send time for this packet (in ms). The value of 40 // |payload_type|. Returns the send time for this packet (in ms). The value of
41 // |payload_length_samples| determines the send time for the next packet. 41 // |payload_length_samples| determines the send time for the next packet.
42 virtual uint32_t GetRtpHeader(uint8_t payload_type, 42 virtual uint32_t GetRtpHeader(uint8_t payload_type,
43 size_t payload_length_samples, 43 size_t payload_length_samples,
44 WebRtcRTPHeader* rtp_header); 44 RTPHeader* rtp_header);
45 45
46 void set_drift_factor(double factor); 46 void set_drift_factor(double factor);
47 47
48 protected: 48 protected:
49 uint16_t seq_number_; 49 uint16_t seq_number_;
50 uint32_t timestamp_; 50 uint32_t timestamp_;
51 uint32_t next_send_time_ms_; 51 uint32_t next_send_time_ms_;
52 const uint32_t ssrc_; 52 const uint32_t ssrc_;
53 const int samples_per_ms_; 53 const int samples_per_ms_;
54 double drift_factor_; 54 double drift_factor_;
55 55
56 private: 56 private:
57 RTC_DISALLOW_COPY_AND_ASSIGN(RtpGenerator); 57 RTC_DISALLOW_COPY_AND_ASSIGN(RtpGenerator);
58 }; 58 };
59 59
60 class TimestampJumpRtpGenerator : public RtpGenerator { 60 class TimestampJumpRtpGenerator : public RtpGenerator {
61 public: 61 public:
62 TimestampJumpRtpGenerator(int samples_per_ms, 62 TimestampJumpRtpGenerator(int samples_per_ms,
63 uint16_t start_seq_number, 63 uint16_t start_seq_number,
64 uint32_t start_timestamp, 64 uint32_t start_timestamp,
65 uint32_t jump_from_timestamp, 65 uint32_t jump_from_timestamp,
66 uint32_t jump_to_timestamp) 66 uint32_t jump_to_timestamp)
67 : RtpGenerator(samples_per_ms, start_seq_number, start_timestamp), 67 : RtpGenerator(samples_per_ms, start_seq_number, start_timestamp),
68 jump_from_timestamp_(jump_from_timestamp), 68 jump_from_timestamp_(jump_from_timestamp),
69 jump_to_timestamp_(jump_to_timestamp) {} 69 jump_to_timestamp_(jump_to_timestamp) {}
70 70
71 uint32_t GetRtpHeader(uint8_t payload_type, 71 uint32_t GetRtpHeader(uint8_t payload_type,
72 size_t payload_length_samples, 72 size_t payload_length_samples,
73 WebRtcRTPHeader* rtp_header) override; 73 RTPHeader* rtp_header) override;
74 74
75 private: 75 private:
76 uint32_t jump_from_timestamp_; 76 uint32_t jump_from_timestamp_;
77 uint32_t jump_to_timestamp_; 77 uint32_t jump_to_timestamp_;
78 RTC_DISALLOW_COPY_AND_ASSIGN(TimestampJumpRtpGenerator); 78 RTC_DISALLOW_COPY_AND_ASSIGN(TimestampJumpRtpGenerator);
79 }; 79 };
80 80
81 } // namespace test 81 } // namespace test
82 } // namespace webrtc 82 } // namespace webrtc
83 #endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_RTP_GENERATOR_H_ 83 #endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_RTP_GENERATOR_H_
OLDNEW
« no previous file with comments | « webrtc/modules/audio_coding/neteq/tools/packet.cc ('k') | webrtc/modules/audio_coding/neteq/tools/rtp_generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698