To reduce number of classes that represent an RTP packet. Functionality of simulating payload data that is absent in an RTP dump is moved into RtpFileSource that reads from such file. Functionality to parse RED header is moved to the only user - rtp_analyze Bug: webrtc:42225366 Change-Id: I8b66cfa0df67a776d9285dcb05da9c0183d6a400 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/400760 Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#45169}
45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
/*
|
|
* Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#ifndef MODULES_AUDIO_CODING_NETEQ_TOOLS_PACKET_SOURCE_H_
|
|
#define MODULES_AUDIO_CODING_NETEQ_TOOLS_PACKET_SOURCE_H_
|
|
|
|
#include <bitset>
|
|
#include <cstdint>
|
|
#include <memory>
|
|
|
|
#include "modules/rtp_rtcp/source/rtp_packet_received.h"
|
|
|
|
namespace webrtc {
|
|
namespace test {
|
|
|
|
// Interface class for an object delivering RTP packets to test applications.
|
|
class PacketSource {
|
|
public:
|
|
PacketSource();
|
|
virtual ~PacketSource();
|
|
|
|
PacketSource(const PacketSource&) = delete;
|
|
PacketSource& operator=(const PacketSource&) = delete;
|
|
|
|
// Returns next packet. Returns nullptr if the source is depleted, or if an
|
|
// error occurred.
|
|
virtual std::unique_ptr<RtpPacketReceived> NextPacket() = 0;
|
|
|
|
virtual void FilterOutPayloadType(uint8_t payload_type);
|
|
|
|
protected:
|
|
std::bitset<128> filter_; // Payload type is 7 bits in the RFC.
|
|
};
|
|
|
|
} // namespace test
|
|
} // namespace webrtc
|
|
#endif // MODULES_AUDIO_CODING_NETEQ_TOOLS_PACKET_SOURCE_H_
|