| 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 |