blob: f7490de5517f6a83784c6bb33d64365315b12dd1 [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
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000013#include "webrtc/base/checks.h"
kwiberg@webrtc.org00b8f6b2015-02-26 14:34:55 +000014#include "webrtc/base/scoped_ptr.h"
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000015#include "webrtc/test/rtp_file_reader.h"
16#include "webrtc/test/rtp_file_writer.h"
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000017
kwiberg@webrtc.org00b8f6b2015-02-26 14:34:55 +000018using rtc::scoped_ptr;
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
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000029 scoped_ptr<RtpFileWriter> output(
30 RtpFileWriter::Create(RtpFileWriter::kRtpDump, argv[argc - 1]));
31 CHECK(output.get() != NULL) << "Cannot open output file.";
32 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++) {
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000035 scoped_ptr<RtpFileReader> input(
36 RtpFileReader::Create(RtpFileReader::kRtpDump, argv[i]));
37 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))
42 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}