Files
platform-external-webrtc/webrtc/modules/audio_coding/neteq/tools/packet_source.h
henrik.lundin@webrtc.org c8e98187d1 Receiver bit-exactness test for AudioCoding Module
This CL introduces a bit-exactness test for the receive-side of the
AudioCoding Module. The main part of the test is done in the helper
class AcmReceiveTest. The test is executed from the test fixture
AcmReceiverBitExactness.

The test inserts packets from a pre-encoded RTP file. The output is
summed up into a checksum, which is verified versus a reference at the
end of the test. Alternatively, if the flag --generate_output is given,
the output is written to a file for subjective verification.

R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13769004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6549 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-26 19:07:04 +00:00

48 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 WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_PACKET_SOURCE_H_
#define WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_PACKET_SOURCE_H_
#include <bitset>
#include "webrtc/base/constructormagic.h"
#include "webrtc/typedefs.h"
namespace webrtc {
namespace test {
class Packet;
// Interface class for an object delivering RTP packets to test applications.
class PacketSource {
public:
PacketSource() {}
virtual ~PacketSource() {}
// Returns a pointer to the next packet. Returns NULL if the source is
// depleted, or if an error occurred.
virtual Packet* NextPacket() = 0;
virtual void FilterOutPayloadType(uint8_t payload_type) {
filter_.set(payload_type, true);
}
protected:
std::bitset<128> filter_; // Payload type is 7 bits in the RFC.
private:
DISALLOW_COPY_AND_ASSIGN(PacketSource);
};
} // namespace test
} // namespace webrtc
#endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_PACKET_SOURCE_H_