diff options
Diffstat (limited to 'webrtc/modules/audio_coding/neteq/tools')
16 files changed, 116 insertions, 91 deletions
diff --git a/webrtc/modules/audio_coding/neteq/tools/audio_loop.cc b/webrtc/modules/audio_coding/neteq/tools/audio_loop.cc index 2d2a7e3dd4..eed95753f0 100644 --- a/webrtc/modules/audio_coding/neteq/tools/audio_loop.cc +++ b/webrtc/modules/audio_coding/neteq/tools/audio_loop.cc @@ -43,13 +43,14 @@ bool AudioLoop::Init(const std::string file_name, return true; } -const int16_t* AudioLoop::GetNextBlock() { +rtc::ArrayView<const int16_t> AudioLoop::GetNextBlock() { // Check that the AudioLoop is initialized. - if (block_length_samples_ == 0) return NULL; + if (block_length_samples_ == 0) + return rtc::ArrayView<const int16_t>(); const int16_t* output_ptr = &audio_array_[next_index_]; next_index_ = (next_index_ + block_length_samples_) % loop_length_samples_; - return output_ptr; + return rtc::ArrayView<const int16_t>(output_ptr, block_length_samples_); } diff --git a/webrtc/modules/audio_coding/neteq/tools/audio_loop.h b/webrtc/modules/audio_coding/neteq/tools/audio_loop.h index a897ee5aef..14e20f68ac 100644 --- a/webrtc/modules/audio_coding/neteq/tools/audio_loop.h +++ b/webrtc/modules/audio_coding/neteq/tools/audio_loop.h @@ -13,6 +13,7 @@ #include <string> +#include "webrtc/base/array_view.h" #include "webrtc/base/constructormagic.h" #include "webrtc/base/scoped_ptr.h" #include "webrtc/typedefs.h" @@ -40,10 +41,9 @@ class AudioLoop { bool Init(const std::string file_name, size_t max_loop_length_samples, size_t block_length_samples); - // Returns a pointer to the next block of audio. The number given as - // |block_length_samples| to the Init() function determines how many samples - // that can be safely read from the pointer. - const int16_t* GetNextBlock(); + // Returns a (pointer,size) pair for the next block of audio. The size is + // equal to the |block_length_samples| Init() argument. + rtc::ArrayView<const int16_t> GetNextBlock(); private: size_t next_index_; diff --git a/webrtc/modules/audio_coding/neteq/tools/audio_sink.h b/webrtc/modules/audio_coding/neteq/tools/audio_sink.h index 3bd2df5ca8..489a8b2ad8 100644 --- a/webrtc/modules/audio_coding/neteq/tools/audio_sink.h +++ b/webrtc/modules/audio_coding/neteq/tools/audio_sink.h @@ -12,7 +12,7 @@ #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_AUDIO_SINK_H_ #include "webrtc/base/constructormagic.h" -#include "webrtc/modules/interface/module_common_types.h" +#include "webrtc/modules/include/module_common_types.h" #include "webrtc/typedefs.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/neteq/tools/constant_pcm_packet_source.cc b/webrtc/modules/audio_coding/neteq/tools/constant_pcm_packet_source.cc index dc07030dd6..5a9f79f877 100644 --- a/webrtc/modules/audio_coding/neteq/tools/constant_pcm_packet_source.cc +++ b/webrtc/modules/audio_coding/neteq/tools/constant_pcm_packet_source.cc @@ -13,7 +13,7 @@ #include <algorithm> #include "webrtc/base/checks.h" -#include "webrtc/modules/audio_coding/codecs/pcm16b/include/pcm16b.h" +#include "webrtc/modules/audio_coding/codecs/pcm16b/pcm16b.h" #include "webrtc/modules/audio_coding/neteq/tools/packet.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.cc b/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.cc index 49750c26c8..694b9ed153 100644 --- a/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.cc +++ b/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.cc @@ -12,6 +12,7 @@ #include "webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h" #include "testing/gtest/include/gtest/gtest.h" +#include "webrtc/base/format_macros.h" namespace webrtc { namespace test { @@ -21,26 +22,25 @@ NetEqExternalDecoderTest::NetEqExternalDecoderTest(NetEqDecoder codec, : codec_(codec), decoder_(decoder), sample_rate_hz_(CodecSampleRateHz(codec_)), - channels_(static_cast<int>(decoder_->Channels())) { + channels_(decoder_->Channels()) { NetEq::Config config; config.sample_rate_hz = sample_rate_hz_; neteq_.reset(NetEq::Create(config)); - printf("%d\n", channels_); + printf("%" PRIuS "\n", channels_); } void NetEqExternalDecoderTest::Init() { - ASSERT_EQ(NetEq::kOK, neteq_->RegisterExternalDecoder( - decoder_, codec_, kPayloadType, sample_rate_hz_)); + ASSERT_EQ(NetEq::kOK, + neteq_->RegisterExternalDecoder(decoder_, codec_, name_, + kPayloadType, sample_rate_hz_)); } -void NetEqExternalDecoderTest::InsertPacket(WebRtcRTPHeader rtp_header, - const uint8_t* payload, - size_t payload_size_bytes, - uint32_t receive_timestamp) { - ASSERT_EQ( - NetEq::kOK, - neteq_->InsertPacket( - rtp_header, payload, payload_size_bytes, receive_timestamp)); +void NetEqExternalDecoderTest::InsertPacket( + WebRtcRTPHeader rtp_header, + rtc::ArrayView<const uint8_t> payload, + uint32_t receive_timestamp) { + ASSERT_EQ(NetEq::kOK, + neteq_->InsertPacket(rtp_header, payload, receive_timestamp)); } size_t NetEqExternalDecoderTest::GetOutputAudio(size_t max_length, @@ -48,7 +48,7 @@ size_t NetEqExternalDecoderTest::GetOutputAudio(size_t max_length, NetEqOutputType* output_type) { // Get audio from regular instance. size_t samples_per_channel; - int num_channels; + size_t num_channels; EXPECT_EQ(NetEq::kOK, neteq_->GetAudio(max_length, output, @@ -58,6 +58,7 @@ size_t NetEqExternalDecoderTest::GetOutputAudio(size_t max_length, EXPECT_EQ(channels_, num_channels); EXPECT_EQ(static_cast<size_t>(kOutputLengthMs * sample_rate_hz_ / 1000), samples_per_channel); + EXPECT_EQ(sample_rate_hz_, neteq_->last_output_sample_rate_hz()); return samples_per_channel; } diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h b/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h index 0a41c6ec20..d7b01fe33a 100644 --- a/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h +++ b/webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h @@ -11,10 +11,12 @@ #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_NETEQ_EXTERNAL_DECODER_TEST_H_ #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_NETEQ_EXTERNAL_DECODER_TEST_H_ +#include <string> + #include "webrtc/base/scoped_ptr.h" #include "webrtc/modules/audio_coding/codecs/audio_decoder.h" #include "webrtc/modules/audio_coding/neteq/include/neteq.h" -#include "webrtc/modules/interface/module_common_types.h" +#include "webrtc/modules/include/module_common_types.h" namespace webrtc { namespace test { @@ -36,8 +38,8 @@ class NetEqExternalDecoderTest { // |payload_size_bytes| bytes. The |receive_timestamp| is an indication // of the time when the packet was received, and should be measured with // the same tick rate as the RTP timestamp of the current payload. - virtual void InsertPacket(WebRtcRTPHeader rtp_header, const uint8_t* payload, - size_t payload_size_bytes, + virtual void InsertPacket(WebRtcRTPHeader rtp_header, + rtc::ArrayView<const uint8_t> payload, uint32_t receive_timestamp); // Get 10 ms of audio data. The data is written to |output|, which can hold @@ -49,9 +51,10 @@ class NetEqExternalDecoderTest { private: NetEqDecoder codec_; + std::string name_ = "dummy name"; AudioDecoder* decoder_; int sample_rate_hz_; - int channels_; + size_t channels_; rtc::scoped_ptr<NetEq> neteq_; }; diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.cc b/webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.cc index 9fe4dffa91..7d1f9f9798 100644 --- a/webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.cc +++ b/webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.cc @@ -10,7 +10,7 @@ #include "webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.h" -#include "webrtc/modules/audio_coding/codecs/pcm16b/include/pcm16b.h" +#include "webrtc/modules/audio_coding/codecs/pcm16b/pcm16b.h" #include "webrtc/modules/audio_coding/neteq/include/neteq.h" #include "webrtc/modules/audio_coding/neteq/tools/audio_loop.h" #include "webrtc/modules/audio_coding/neteq/tools/rtp_generator.h" @@ -34,6 +34,7 @@ int64_t NetEqPerformanceTest::Run(int runtime_ms, const int kSampRateHz = 32000; const webrtc::NetEqDecoder kDecoderType = webrtc::NetEqDecoder::kDecoderPCM16Bswb32kHz; + const std::string kDecoderName = "pcm16-swb32"; const int kPayloadType = 95; // Initialize NetEq instance. @@ -41,7 +42,7 @@ int64_t NetEqPerformanceTest::Run(int runtime_ms, config.sample_rate_hz = kSampRateHz; NetEq* neteq = NetEq::Create(config); // Register decoder in |neteq|. - if (neteq->RegisterPayloadType(kDecoderType, kPayloadType) != 0) + if (neteq->RegisterPayloadType(kDecoderType, kDecoderName, kPayloadType) != 0) return -1; // Set up AudioLoop object. @@ -62,12 +63,13 @@ int64_t NetEqPerformanceTest::Run(int runtime_ms, bool drift_flipped = false; int32_t packet_input_time_ms = rtp_gen.GetRtpHeader(kPayloadType, kInputBlockSizeSamples, &rtp_header); - const int16_t* input_samples = audio_loop.GetNextBlock(); - if (!input_samples) exit(1); + auto input_samples = audio_loop.GetNextBlock(); + if (input_samples.empty()) + exit(1); uint8_t input_payload[kInputBlockSizeSamples * sizeof(int16_t)]; - size_t payload_len = - WebRtcPcm16b_Encode(input_samples, kInputBlockSizeSamples, input_payload); - assert(payload_len == kInputBlockSizeSamples * sizeof(int16_t)); + size_t payload_len = WebRtcPcm16b_Encode(input_samples.data(), + input_samples.size(), input_payload); + RTC_CHECK_EQ(sizeof(input_payload), payload_len); // Main loop. webrtc::Clock* clock = webrtc::Clock::GetRealTimeClock(); @@ -81,9 +83,9 @@ int64_t NetEqPerformanceTest::Run(int runtime_ms, } if (!lost) { // Insert packet. - int error = neteq->InsertPacket( - rtp_header, input_payload, payload_len, - packet_input_time_ms * kSampRateHz / 1000); + int error = + neteq->InsertPacket(rtp_header, input_payload, + packet_input_time_ms * kSampRateHz / 1000); if (error != NetEq::kOK) return -1; } @@ -93,10 +95,10 @@ int64_t NetEqPerformanceTest::Run(int runtime_ms, kInputBlockSizeSamples, &rtp_header); input_samples = audio_loop.GetNextBlock(); - if (!input_samples) return -1; - payload_len = WebRtcPcm16b_Encode(const_cast<int16_t*>(input_samples), - kInputBlockSizeSamples, - input_payload); + if (input_samples.empty()) + return -1; + payload_len = WebRtcPcm16b_Encode(input_samples.data(), + input_samples.size(), input_payload); assert(payload_len == kInputBlockSizeSamples * sizeof(int16_t)); } @@ -107,7 +109,7 @@ int64_t NetEqPerformanceTest::Run(int runtime_ms, static const size_t kOutDataLen = kOutputBlockSizeMs * kMaxSamplesPerMs * kMaxChannels; int16_t out_data[kOutDataLen]; - int num_channels; + size_t num_channels; size_t samples_per_channel; int error = neteq->GetAudio(kOutDataLen, out_data, &samples_per_channel, &num_channels, NULL); diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.cc b/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.cc index 6826d1be74..9c64e0fb48 100644 --- a/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.cc +++ b/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.cc @@ -210,7 +210,7 @@ NetEqQualityTest::NetEqQualityTest(int block_duration_ms, int out_sampling_khz, NetEqDecoder decoder_type) : decoder_type_(decoder_type), - channels_(FLAGS_channels), + channels_(static_cast<size_t>(FLAGS_channels)), decoded_time_ms_(0), decodable_time_ms_(0), drift_factor_(FLAGS_drift_factor), @@ -292,7 +292,8 @@ bool GilbertElliotLoss::Lost() { } void NetEqQualityTest::SetUp() { - ASSERT_EQ(0, neteq_->RegisterPayloadType(decoder_type_, kPayloadType)); + ASSERT_EQ(0, + neteq_->RegisterPayloadType(decoder_type_, "noname", kPayloadType)); rtp_generator_->set_drift_factor(drift_factor_); int units = block_duration_ms_ / kPacketLossTimeUnitMs; @@ -377,9 +378,10 @@ int NetEqQualityTest::Transmit() { << " ms "; if (payload_size_bytes_ > 0) { if (!PacketLost()) { - int ret = neteq_->InsertPacket(rtp_header_, &payload_[0], - payload_size_bytes_, - packet_input_time_ms * in_sampling_khz_); + int ret = neteq_->InsertPacket( + rtp_header_, + rtc::ArrayView<const uint8_t>(payload_.get(), payload_size_bytes_), + packet_input_time_ms * in_sampling_khz_); if (ret != NetEq::kOK) return -1; Log() << "was sent."; @@ -392,7 +394,7 @@ int NetEqQualityTest::Transmit() { } int NetEqQualityTest::DecodeBlock() { - int channels; + size_t channels; size_t samples; int ret = neteq_->GetAudio(out_size_samples_ * channels_, &out_data_[0], &samples, &channels, NULL); diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.h b/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.h index e20be5796b..c2b2effee2 100644 --- a/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.h +++ b/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.h @@ -99,7 +99,7 @@ class NetEqQualityTest : public ::testing::Test { std::ofstream& Log(); NetEqDecoder decoder_type_; - const int channels_; + const size_t channels_; private: int decoded_time_ms_; diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_rtpplay.cc b/webrtc/modules/audio_coding/neteq/tools/neteq_rtpplay.cc index 0aaf8c71fd..3d79e5b5a2 100644 --- a/webrtc/modules/audio_coding/neteq/tools/neteq_rtpplay.cc +++ b/webrtc/modules/audio_coding/neteq/tools/neteq_rtpplay.cc @@ -26,7 +26,7 @@ #include "webrtc/base/checks.h" #include "webrtc/base/safe_conversions.h" #include "webrtc/base/scoped_ptr.h" -#include "webrtc/modules/audio_coding/codecs/pcm16b/include/pcm16b.h" +#include "webrtc/modules/audio_coding/codecs/pcm16b/pcm16b.h" #include "webrtc/modules/audio_coding/neteq/include/neteq.h" #include "webrtc/modules/audio_coding/neteq/tools/input_audio_file.h" #include "webrtc/modules/audio_coding/neteq/tools/output_audio_file.h" @@ -34,7 +34,7 @@ #include "webrtc/modules/audio_coding/neteq/tools/packet.h" #include "webrtc/modules/audio_coding/neteq/tools/rtc_event_log_source.h" #include "webrtc/modules/audio_coding/neteq/tools/rtp_file_source.h" -#include "webrtc/modules/interface/module_common_types.h" +#include "webrtc/modules/include/module_common_types.h" #include "webrtc/system_wrappers/include/trace.h" #include "webrtc/test/rtp_file_reader.h" #include "webrtc/test/testsupport/fileutils.h" @@ -189,8 +189,9 @@ std::string CodecName(webrtc::NetEqDecoder codec) { void RegisterPayloadType(NetEq* neteq, webrtc::NetEqDecoder codec, + const std::string& name, google::int32 flag) { - if (neteq->RegisterPayloadType(codec, static_cast<uint8_t>(flag))) { + if (neteq->RegisterPayloadType(codec, name, static_cast<uint8_t>(flag))) { std::cerr << "Cannot register payload type " << flag << " as " << CodecName(codec) << std::endl; exit(1); @@ -200,30 +201,40 @@ void RegisterPayloadType(NetEq* neteq, // Registers all decoders in |neteq|. void RegisterPayloadTypes(NetEq* neteq) { assert(neteq); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderPCMu, FLAGS_pcmu); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderPCMa, FLAGS_pcma); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderILBC, FLAGS_ilbc); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderISAC, FLAGS_isac); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderISACswb, + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderPCMu, "pcmu", + FLAGS_pcmu); + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderPCMa, "pcma", + FLAGS_pcma); + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderILBC, "ilbc", + FLAGS_ilbc); + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderISAC, "isac", + FLAGS_isac); + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderISACswb, "isac-swb", FLAGS_isac_swb); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderOpus, FLAGS_opus); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderPCM16B, + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderOpus, "opus", + FLAGS_opus); + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderPCM16B, "pcm16-nb", FLAGS_pcm16b); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderPCM16Bwb, + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderPCM16Bwb, "pcm16-wb", FLAGS_pcm16b_wb); RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderPCM16Bswb32kHz, - FLAGS_pcm16b_swb32); + "pcm16-swb32", FLAGS_pcm16b_swb32); RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderPCM16Bswb48kHz, - FLAGS_pcm16b_swb48); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderG722, FLAGS_g722); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderAVT, FLAGS_avt); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderRED, FLAGS_red); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderCNGnb, FLAGS_cn_nb); - RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderCNGwb, FLAGS_cn_wb); + "pcm16-swb48", FLAGS_pcm16b_swb48); + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderG722, "g722", + FLAGS_g722); + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderAVT, "avt", + FLAGS_avt); + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderRED, "red", + FLAGS_red); + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderCNGnb, "cng-nb", + FLAGS_cn_nb); + RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderCNGwb, "cng-wb", + FLAGS_cn_wb); RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderCNGswb32kHz, - FLAGS_cn_swb32); + "cng-swb32", FLAGS_cn_swb32); RegisterPayloadType(neteq, webrtc::NetEqDecoder::kDecoderCNGswb48kHz, - FLAGS_cn_swb48); + "cng-swb48", FLAGS_cn_swb48); } void PrintCodecMappingEntry(webrtc::NetEqDecoder codec, google::int32 flag) { @@ -399,23 +410,12 @@ int main(int argc, char* argv[]) { printf("Input file: %s\n", argv[1]); - // TODO(ivoc): Modify the RtpFileSource::Create and RtcEventLogSource::Create - // functions to return a nullptr on failure instead of crashing - // the program. - - // This temporary solution uses a RtpFileReader directly to check if the file - // is a valid RtpDump file. bool is_rtp_dump = false; - { - rtc::scoped_ptr<webrtc::test::RtpFileReader> rtp_reader( - webrtc::test::RtpFileReader::Create( - webrtc::test::RtpFileReader::kRtpDump, argv[1])); - if (rtp_reader) - is_rtp_dump = true; - } rtc::scoped_ptr<webrtc::test::PacketSource> file_source; webrtc::test::RtcEventLogSource* event_log_source = nullptr; - if (is_rtp_dump) { + if (webrtc::test::RtpFileSource::ValidRtpDump(argv[1]) || + webrtc::test::RtpFileSource::ValidPcap(argv[1])) { + is_rtp_dump = true; file_source.reset(webrtc::test::RtpFileSource::Create(argv[1])); } else { event_log_source = webrtc::test::RtcEventLogSource::Create(argv[1]); @@ -558,7 +558,7 @@ int main(int argc, char* argv[]) { payload_ptr = payload.get(); } int error = neteq->InsertPacket( - rtp_header, payload_ptr, payload_len, + rtp_header, rtc::ArrayView<const uint8_t>(payload_ptr, payload_len), static_cast<uint32_t>(packet->time_ms() * sample_rate_hz / 1000)); if (error != NetEq::kOK) { if (neteq->LastError() == NetEq::kUnknownRtpPayloadType) { @@ -609,7 +609,7 @@ int main(int argc, char* argv[]) { static const size_t kOutDataLen = kOutputBlockSizeMs * kMaxSamplesPerMs * kMaxChannels; int16_t out_data[kOutDataLen]; - int num_channels; + size_t num_channels; size_t samples_per_channel; int error = neteq->GetAudio(kOutDataLen, out_data, &samples_per_channel, &num_channels, NULL); diff --git a/webrtc/modules/audio_coding/neteq/tools/packet.cc b/webrtc/modules/audio_coding/neteq/tools/packet.cc index b8b27afdec..2b2fcc286e 100644 --- a/webrtc/modules/audio_coding/neteq/tools/packet.cc +++ b/webrtc/modules/audio_coding/neteq/tools/packet.cc @@ -12,8 +12,8 @@ #include <string.h> -#include "webrtc/modules/interface/module_common_types.h" -#include "webrtc/modules/rtp_rtcp/interface/rtp_header_parser.h" +#include "webrtc/modules/include/module_common_types.h" +#include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h" namespace webrtc { namespace test { diff --git a/webrtc/modules/audio_coding/neteq/tools/rtc_event_log_source.cc b/webrtc/modules/audio_coding/neteq/tools/rtc_event_log_source.cc index 9b17ba8f64..dad72eaecd 100644 --- a/webrtc/modules/audio_coding/neteq/tools/rtc_event_log_source.cc +++ b/webrtc/modules/audio_coding/neteq/tools/rtc_event_log_source.cc @@ -18,7 +18,7 @@ #include "webrtc/base/checks.h" #include "webrtc/call/rtc_event_log.h" #include "webrtc/modules/audio_coding/neteq/tools/packet.h" -#include "webrtc/modules/rtp_rtcp/interface/rtp_header_parser.h" +#include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h" // Files generated at build-time by the protobuf compiler. #ifdef WEBRTC_ANDROID_PLATFORM_BUILD diff --git a/webrtc/modules/audio_coding/neteq/tools/rtc_event_log_source.h b/webrtc/modules/audio_coding/neteq/tools/rtc_event_log_source.h index 7150bcfe89..90d5931224 100644 --- a/webrtc/modules/audio_coding/neteq/tools/rtc_event_log_source.h +++ b/webrtc/modules/audio_coding/neteq/tools/rtc_event_log_source.h @@ -16,7 +16,7 @@ #include "webrtc/base/constructormagic.h" #include "webrtc/base/scoped_ptr.h" #include "webrtc/modules/audio_coding/neteq/tools/packet_source.h" -#include "webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h" +#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" namespace webrtc { diff --git a/webrtc/modules/audio_coding/neteq/tools/rtp_file_source.cc b/webrtc/modules/audio_coding/neteq/tools/rtp_file_source.cc index 9681ad17ea..b7a3109c01 100644 --- a/webrtc/modules/audio_coding/neteq/tools/rtp_file_source.cc +++ b/webrtc/modules/audio_coding/neteq/tools/rtp_file_source.cc @@ -20,7 +20,7 @@ #include "webrtc/base/checks.h" #include "webrtc/modules/audio_coding/neteq/tools/packet.h" -#include "webrtc/modules/rtp_rtcp/interface/rtp_header_parser.h" +#include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h" #include "webrtc/test/rtp_file_reader.h" namespace webrtc { @@ -32,6 +32,18 @@ RtpFileSource* RtpFileSource::Create(const std::string& file_name) { return source; } +bool RtpFileSource::ValidRtpDump(const std::string& file_name) { + rtc::scoped_ptr<RtpFileReader> temp_file( + RtpFileReader::Create(RtpFileReader::kRtpDump, file_name)); + return !!temp_file; +} + +bool RtpFileSource::ValidPcap(const std::string& file_name) { + rtc::scoped_ptr<RtpFileReader> temp_file( + RtpFileReader::Create(RtpFileReader::kPcap, file_name)); + return !!temp_file; +} + RtpFileSource::~RtpFileSource() { } diff --git a/webrtc/modules/audio_coding/neteq/tools/rtp_file_source.h b/webrtc/modules/audio_coding/neteq/tools/rtp_file_source.h index d0856a819c..2febf68b91 100644 --- a/webrtc/modules/audio_coding/neteq/tools/rtp_file_source.h +++ b/webrtc/modules/audio_coding/neteq/tools/rtp_file_source.h @@ -18,7 +18,7 @@ #include "webrtc/base/scoped_ptr.h" #include "webrtc/common_types.h" #include "webrtc/modules/audio_coding/neteq/tools/packet_source.h" -#include "webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h" +#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" namespace webrtc { @@ -34,6 +34,10 @@ class RtpFileSource : public PacketSource { // opened, or has the wrong format, NULL will be returned. static RtpFileSource* Create(const std::string& file_name); + // Checks whether a files is a valid RTP dump or PCAP (Wireshark) file. + static bool ValidRtpDump(const std::string& file_name); + static bool ValidPcap(const std::string& file_name); + virtual ~RtpFileSource(); // Registers an RTP header extension and binds it to |id|. diff --git a/webrtc/modules/audio_coding/neteq/tools/rtp_generator.h b/webrtc/modules/audio_coding/neteq/tools/rtp_generator.h index 6c16192daa..53371be8f6 100644 --- a/webrtc/modules/audio_coding/neteq/tools/rtp_generator.h +++ b/webrtc/modules/audio_coding/neteq/tools/rtp_generator.h @@ -12,7 +12,7 @@ #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_TOOLS_RTP_GENERATOR_H_ #include "webrtc/base/constructormagic.h" -#include "webrtc/modules/interface/module_common_types.h" +#include "webrtc/modules/include/module_common_types.h" #include "webrtc/typedefs.h" namespace webrtc { |