1 /* 2 * Copyright (c) 2011 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 <stdio.h> 12 13 #include <memory> 14 15 #include "rtc_base/checks.h" 16 #include "test/rtp_file_reader.h" 17 #include "test/rtp_file_writer.h" 18 19 using webrtc::test::RtpFileReader; 20 using webrtc::test::RtpFileWriter; 21 main(int argc,char * argv[])22int main(int argc, char* argv[]) { 23 if (argc < 3) { 24 printf("Concatenates multiple rtpdump files into one.\n"); 25 printf("Usage: rtpcat in1.rtp int2.rtp [...] out.rtp\n"); 26 exit(1); 27 } 28 29 std::unique_ptr<RtpFileWriter> output( 30 RtpFileWriter::Create(RtpFileWriter::kRtpDump, argv[argc - 1])); 31 RTC_CHECK(output.get() != NULL) << "Cannot open output file."; 32 printf("Output RTP file: %s\n", argv[argc - 1]); 33 34 for (int i = 1; i < argc - 1; i++) { 35 std::unique_ptr<RtpFileReader> input( 36 RtpFileReader::Create(RtpFileReader::kRtpDump, argv[i])); 37 RTC_CHECK(input.get() != NULL) << "Cannot open input file " << argv[i]; 38 printf("Input RTP file: %s\n", argv[i]); 39 40 webrtc::test::RtpPacket packet; 41 while (input->NextPacket(&packet)) 42 RTC_CHECK(output->WritePacket(&packet)); 43 } 44 return 0; 45 } 46