OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 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 |
(...skipping 10 matching lines...) Expand all Loading... |
21 namespace test { | 21 namespace test { |
22 | 22 |
23 static const uint16_t kPacketHeaderSize = 8; | 23 static const uint16_t kPacketHeaderSize = 8; |
24 static const char kFirstLine[] = "#!rtpplay1.0 0.0.0.0/0\n"; | 24 static const char kFirstLine[] = "#!rtpplay1.0 0.0.0.0/0\n"; |
25 | 25 |
26 // Write RTP packets to file in rtpdump format, as documented at: | 26 // Write RTP packets to file in rtpdump format, as documented at: |
27 // http://www.cs.columbia.edu/irt/software/rtptools/ | 27 // http://www.cs.columbia.edu/irt/software/rtptools/ |
28 class RtpDumpWriter : public RtpFileWriter { | 28 class RtpDumpWriter : public RtpFileWriter { |
29 public: | 29 public: |
30 explicit RtpDumpWriter(FILE* file) : file_(file) { | 30 explicit RtpDumpWriter(FILE* file) : file_(file) { |
31 RTC_CHECK(file_ != NULL); | 31 RTC_CHECK(file_ != nullptr); |
32 Init(); | 32 Init(); |
33 } | 33 } |
34 virtual ~RtpDumpWriter() { | 34 virtual ~RtpDumpWriter() { |
35 if (file_ != NULL) { | 35 if (file_ != nullptr) { |
36 fclose(file_); | 36 fclose(file_); |
37 file_ = NULL; | 37 file_ = nullptr; |
38 } | 38 } |
39 } | 39 } |
40 | 40 |
41 bool WritePacket(const RtpPacket* packet) override { | 41 bool WritePacket(const RtpPacket* packet) override { |
42 uint16_t len = static_cast<uint16_t>(packet->length + kPacketHeaderSize); | 42 uint16_t len = static_cast<uint16_t>(packet->length + kPacketHeaderSize); |
43 uint16_t plen = static_cast<uint16_t>(packet->original_length); | 43 uint16_t plen = static_cast<uint16_t>(packet->original_length); |
44 uint32_t offset = packet->time_ms; | 44 uint32_t offset = packet->time_ms; |
45 RTC_CHECK(WriteUint16(len)); | 45 RTC_CHECK(WriteUint16(len)); |
46 RTC_CHECK(WriteUint16(plen)); | 46 RTC_CHECK(WriteUint16(plen)); |
47 RTC_CHECK(WriteUint32(offset)); | 47 RTC_CHECK(WriteUint32(offset)); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 } | 85 } |
86 | 86 |
87 FILE* file_; | 87 FILE* file_; |
88 | 88 |
89 RTC_DISALLOW_COPY_AND_ASSIGN(RtpDumpWriter); | 89 RTC_DISALLOW_COPY_AND_ASSIGN(RtpDumpWriter); |
90 }; | 90 }; |
91 | 91 |
92 RtpFileWriter* RtpFileWriter::Create(FileFormat format, | 92 RtpFileWriter* RtpFileWriter::Create(FileFormat format, |
93 const std::string& filename) { | 93 const std::string& filename) { |
94 FILE* file = fopen(filename.c_str(), "wb"); | 94 FILE* file = fopen(filename.c_str(), "wb"); |
95 if (file == NULL) { | 95 if (file == nullptr) { |
96 printf("ERROR: Can't open file: %s\n", filename.c_str()); | 96 printf("ERROR: Can't open file: %s\n", filename.c_str()); |
97 return NULL; | 97 return nullptr; |
98 } | 98 } |
99 switch (format) { | 99 switch (format) { |
100 case kRtpDump: | 100 case kRtpDump: |
101 return new RtpDumpWriter(file); | 101 return new RtpDumpWriter(file); |
102 } | 102 } |
103 fclose(file); | 103 fclose(file); |
104 return NULL; | 104 return nullptr; |
105 } | 105 } |
106 | 106 |
107 } // namespace test | 107 } // namespace test |
108 } // namespace webrtc | 108 } // namespace webrtc |
OLD | NEW |