Moving test-only code (stream_generator) out of vcm implemention.
R=niklas.enbom@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2207004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4740 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
2553450959
commit
1f09dbe353
@ -204,12 +204,12 @@
|
|||||||
'video_coding/main/source/jitter_buffer_unittest.cc',
|
'video_coding/main/source/jitter_buffer_unittest.cc',
|
||||||
'video_coding/main/source/receiver_unittest.cc',
|
'video_coding/main/source/receiver_unittest.cc',
|
||||||
'video_coding/main/source/session_info_unittest.cc',
|
'video_coding/main/source/session_info_unittest.cc',
|
||||||
'video_coding/main/source/stream_generator.cc',
|
|
||||||
'video_coding/main/source/stream_generator.h',
|
|
||||||
'video_coding/main/source/timing_unittest.cc',
|
'video_coding/main/source/timing_unittest.cc',
|
||||||
'video_coding/main/source/video_coding_robustness_unittest.cc',
|
'video_coding/main/source/video_coding_robustness_unittest.cc',
|
||||||
'video_coding/main/source/video_coding_impl_unittest.cc',
|
'video_coding/main/source/video_coding_impl_unittest.cc',
|
||||||
'video_coding/main/source/qm_select_unittest.cc',
|
'video_coding/main/source/qm_select_unittest.cc',
|
||||||
|
'video_coding/main/source/test/stream_generator.cc',
|
||||||
|
'video_coding/main/source/test/stream_generator.h',
|
||||||
'video_coding/main/test/pcap_file_reader.cc',
|
'video_coding/main/test/pcap_file_reader.cc',
|
||||||
'video_coding/main/test/pcap_file_reader_unittest.cc',
|
'video_coding/main/test/pcap_file_reader_unittest.cc',
|
||||||
'video_coding/main/test/rtp_file_reader.cc',
|
'video_coding/main/test/rtp_file_reader.cc',
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
#include "webrtc/modules/video_coding/main/source/jitter_buffer.h"
|
#include "webrtc/modules/video_coding/main/source/jitter_buffer.h"
|
||||||
#include "webrtc/modules/video_coding/main/source/media_opt_util.h"
|
#include "webrtc/modules/video_coding/main/source/media_opt_util.h"
|
||||||
#include "webrtc/modules/video_coding/main/source/packet.h"
|
#include "webrtc/modules/video_coding/main/source/packet.h"
|
||||||
#include "webrtc/modules/video_coding/main/source/stream_generator.h"
|
#include "webrtc/modules/video_coding/main/source/test/stream_generator.h"
|
||||||
#include "webrtc/modules/video_coding/main/test/test_util.h"
|
#include "webrtc/modules/video_coding/main/test/test_util.h"
|
||||||
#include "webrtc/system_wrappers/interface/clock.h"
|
#include "webrtc/system_wrappers/interface/clock.h"
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#include "testing/gtest/include/gtest/gtest.h"
|
#include "testing/gtest/include/gtest/gtest.h"
|
||||||
#include "webrtc/modules/video_coding/main/source/packet.h"
|
#include "webrtc/modules/video_coding/main/source/packet.h"
|
||||||
#include "webrtc/modules/video_coding/main/source/receiver.h"
|
#include "webrtc/modules/video_coding/main/source/receiver.h"
|
||||||
#include "webrtc/modules/video_coding/main/source/stream_generator.h"
|
#include "webrtc/modules/video_coding/main/source/test/stream_generator.h"
|
||||||
#include "webrtc/modules/video_coding/main/source/timing.h"
|
#include "webrtc/modules/video_coding/main/source/timing.h"
|
||||||
#include "webrtc/modules/video_coding/main/test/test_util.h"
|
#include "webrtc/modules/video_coding/main/test/test_util.h"
|
||||||
#include "webrtc/system_wrappers/interface/clock.h"
|
#include "webrtc/system_wrappers/interface/clock.h"
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
* be found in the AUTHORS file in the root of the source tree.
|
* be found in the AUTHORS file in the root of the source tree.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "webrtc/modules/video_coding/main/source/stream_generator.h"
|
#include "webrtc/modules/video_coding/main/source/test/stream_generator.h"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@ -19,7 +19,6 @@
|
|||||||
#include "webrtc/modules/video_coding/main/test/test_util.h"
|
#include "webrtc/modules/video_coding/main/test/test_util.h"
|
||||||
#include "webrtc/system_wrappers/interface/clock.h"
|
#include "webrtc/system_wrappers/interface/clock.h"
|
||||||
|
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
StreamGenerator::StreamGenerator(uint16_t start_seq_num,
|
StreamGenerator::StreamGenerator(uint16_t start_seq_num,
|
||||||
@ -30,7 +29,8 @@ StreamGenerator::StreamGenerator(uint16_t start_seq_num,
|
|||||||
timestamp_(start_timestamp),
|
timestamp_(start_timestamp),
|
||||||
start_time_(current_time) {}
|
start_time_(current_time) {}
|
||||||
|
|
||||||
void StreamGenerator::Init(uint16_t start_seq_num, uint32_t start_timestamp,
|
void StreamGenerator::Init(uint16_t start_seq_num,
|
||||||
|
uint32_t start_timestamp,
|
||||||
int64_t current_time) {
|
int64_t current_time) {
|
||||||
packets_.clear();
|
packets_.clear();
|
||||||
sequence_number_ = start_seq_num;
|
sequence_number_ = start_seq_num;
|
||||||
@ -45,24 +45,16 @@ void StreamGenerator::GenerateFrame(FrameType type,
|
|||||||
int64_t current_time) {
|
int64_t current_time) {
|
||||||
timestamp_ = 90 * (current_time - start_time_);
|
timestamp_ = 90 * (current_time - start_time_);
|
||||||
for (int i = 0; i < num_media_packets; ++i) {
|
for (int i = 0; i < num_media_packets; ++i) {
|
||||||
const int packet_size = (kFrameSize + num_media_packets / 2) /
|
const int packet_size =
|
||||||
num_media_packets;
|
(kFrameSize + num_media_packets / 2) / num_media_packets;
|
||||||
bool marker_bit = (i == num_media_packets - 1);
|
bool marker_bit = (i == num_media_packets - 1);
|
||||||
packets_.push_back(GeneratePacket(sequence_number_,
|
packets_.push_back(GeneratePacket(
|
||||||
timestamp_,
|
sequence_number_, timestamp_, packet_size, (i == 0), marker_bit, type));
|
||||||
packet_size,
|
|
||||||
(i == 0),
|
|
||||||
marker_bit,
|
|
||||||
type));
|
|
||||||
++sequence_number_;
|
++sequence_number_;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < num_empty_packets; ++i) {
|
for (int i = 0; i < num_empty_packets; ++i) {
|
||||||
packets_.push_back(GeneratePacket(sequence_number_,
|
packets_.push_back(GeneratePacket(
|
||||||
timestamp_,
|
sequence_number_, timestamp_, 0, false, false, kFrameEmpty));
|
||||||
0,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
kFrameEmpty));
|
|
||||||
++sequence_number_;
|
++sequence_number_;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -119,9 +111,7 @@ bool StreamGenerator::NextPacket(VCMPacket* packet) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StreamGenerator::DropLastPacket() {
|
void StreamGenerator::DropLastPacket() { packets_.pop_back(); }
|
||||||
packets_.pop_back();
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t StreamGenerator::NextSequenceNumber() const {
|
uint16_t StreamGenerator::NextSequenceNumber() const {
|
||||||
if (packets_.empty())
|
if (packets_.empty())
|
||||||
@ -129,15 +119,14 @@ uint16_t StreamGenerator::NextSequenceNumber() const {
|
|||||||
return packets_.front().seqNum;
|
return packets_.front().seqNum;
|
||||||
}
|
}
|
||||||
|
|
||||||
int StreamGenerator::PacketsRemaining() const {
|
int StreamGenerator::PacketsRemaining() const { return packets_.size(); }
|
||||||
return packets_.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
std::list<VCMPacket>::iterator StreamGenerator::GetPacketIterator(int index) {
|
std::list<VCMPacket>::iterator StreamGenerator::GetPacketIterator(int index) {
|
||||||
std::list<VCMPacket>::iterator it = packets_.begin();
|
std::list<VCMPacket>::iterator it = packets_.begin();
|
||||||
for (int i = 0; i < index; ++i) {
|
for (int i = 0; i < index; ++i) {
|
||||||
++it;
|
++it;
|
||||||
if (it == packets_.end()) break;
|
if (it == packets_.end())
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return it;
|
return it;
|
||||||
}
|
}
|
@ -7,8 +7,8 @@
|
|||||||
* in the file PATENTS. All contributing project authors may
|
* in the file PATENTS. All contributing project authors may
|
||||||
* be found in the AUTHORS file in the root of the source tree.
|
* be found in the AUTHORS file in the root of the source tree.
|
||||||
*/
|
*/
|
||||||
#ifndef WEBRTC_MODULES_VIDEO_CODING_MAIN_SOURCE_STREAM_GENERATOR_H_
|
#ifndef WEBRTC_MODULES_VIDEO_CODING_MAIN_SOURCE_TEST_STREAM_GENERATOR_H_
|
||||||
#define WEBRTC_MODULES_VIDEO_CODING_MAIN_SOURCE_STREAM_GENERATOR_H_
|
#define WEBRTC_MODULES_VIDEO_CODING_MAIN_SOURCE_TEST_STREAM_GENERATOR_H_
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@ -22,21 +22,23 @@ namespace webrtc {
|
|||||||
const unsigned int kDefaultBitrateKbps = 1000;
|
const unsigned int kDefaultBitrateKbps = 1000;
|
||||||
const unsigned int kDefaultFrameRate = 25;
|
const unsigned int kDefaultFrameRate = 25;
|
||||||
const unsigned int kMaxPacketSize = 1500;
|
const unsigned int kMaxPacketSize = 1500;
|
||||||
const unsigned int kFrameSize = (kDefaultBitrateKbps + kDefaultFrameRate * 4) /
|
const unsigned int kFrameSize =
|
||||||
(kDefaultFrameRate * 8);
|
(kDefaultBitrateKbps + kDefaultFrameRate * 4) / (kDefaultFrameRate * 8);
|
||||||
const int kDefaultFramePeriodMs = 1000 / kDefaultFrameRate;
|
const int kDefaultFramePeriodMs = 1000 / kDefaultFrameRate;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class StreamGenerator {
|
class StreamGenerator {
|
||||||
public:
|
public:
|
||||||
StreamGenerator(uint16_t start_seq_num, uint32_t start_timestamp,
|
StreamGenerator(uint16_t start_seq_num,
|
||||||
|
uint32_t start_timestamp,
|
||||||
int64_t current_time);
|
int64_t current_time);
|
||||||
void Init(uint16_t start_seq_num, uint32_t start_timestamp,
|
void Init(uint16_t start_seq_num,
|
||||||
|
uint32_t start_timestamp,
|
||||||
int64_t current_time);
|
int64_t current_time);
|
||||||
|
|
||||||
void GenerateFrame(FrameType type, int num_media_packets,
|
void GenerateFrame(FrameType type,
|
||||||
int num_empty_packets, int64_t current_time);
|
int num_media_packets,
|
||||||
|
int num_empty_packets,
|
||||||
|
int64_t current_time);
|
||||||
|
|
||||||
VCMPacket GeneratePacket(uint16_t sequence_number,
|
VCMPacket GeneratePacket(uint16_t sequence_number,
|
||||||
uint32_t timestamp,
|
uint32_t timestamp,
|
||||||
@ -70,4 +72,4 @@ class StreamGenerator {
|
|||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|
||||||
#endif // WEBRTC_MODULES_VIDEO_CODING_MAIN_SOURCE_STREAM_GENERATOR_H_
|
#endif // WEBRTC_MODULES_VIDEO_CODING_MAIN_SOURCE_TEST_STREAM_GENERATOR_H_
|
Loading…
x
Reference in New Issue
Block a user