blob: e1f49f7896c473881c03d60b95cdb497967a3726 [file] [log] [blame]
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +00001/*
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
kwiberg2d0c3322016-02-14 09:28:33 -080013#include <memory>
14
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000015#include "webrtc/base/checks.h"
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000016#include "webrtc/test/rtp_file_reader.h"
17#include "webrtc/test/rtp_file_writer.h"
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000018
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000019using webrtc::test::RtpFileReader;
20using webrtc::test::RtpFileWriter;
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000021
22int main(int argc, char* argv[]) {
23 if (argc < 3) {
henrik.lundin@webrtc.org20446e72014-12-01 14:23:01 +000024 printf("Concatenates multiple rtpdump files into one.\n");
25 printf("Usage: rtpcat in1.rtp int2.rtp [...] out.rtp\n");
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000026 exit(1);
27 }
28
kwiberg2d0c3322016-02-14 09:28:33 -080029 std::unique_ptr<RtpFileWriter> output(
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000030 RtpFileWriter::Create(RtpFileWriter::kRtpDump, argv[argc - 1]));
henrikg91d6ede2015-09-17 00:24:34 -070031 RTC_CHECK(output.get() != NULL) << "Cannot open output file.";
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000032 printf("Output RTP file: %s\n", argv[argc - 1]);
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000033
34 for (int i = 1; i < argc - 1; i++) {
kwiberg2d0c3322016-02-14 09:28:33 -080035 std::unique_ptr<RtpFileReader> input(
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000036 RtpFileReader::Create(RtpFileReader::kRtpDump, argv[i]));
henrikg91d6ede2015-09-17 00:24:34 -070037 RTC_CHECK(input.get() != NULL) << "Cannot open input file " << argv[i];
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000038 printf("Input RTP file: %s\n", argv[i]);
39
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000040 webrtc::test::RtpPacket packet;
41 while (input->NextPacket(&packet))
henrikg91d6ede2015-09-17 00:24:34 -070042 RTC_CHECK(output->WritePacket(&packet));
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000043 }
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000044 return 0;
45}