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:
andresp@webrtc.org 2013-09-13 19:17:54 +00:00
parent 2553450959
commit 1f09dbe353
5 changed files with 30 additions and 39 deletions

View File

@ -204,12 +204,12 @@
'video_coding/main/source/jitter_buffer_unittest.cc',
'video_coding/main/source/receiver_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/video_coding_robustness_unittest.cc',
'video_coding/main/source/video_coding_impl_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_unittest.cc',
'video_coding/main/test/rtp_file_reader.cc',

View File

@ -17,7 +17,7 @@
#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/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/system_wrappers/interface/clock.h"

View File

@ -14,7 +14,7 @@
#include "testing/gtest/include/gtest/gtest.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/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/test/test_util.h"
#include "webrtc/system_wrappers/interface/clock.h"

View File

@ -8,7 +8,7 @@
* 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>
@ -19,7 +19,6 @@
#include "webrtc/modules/video_coding/main/test/test_util.h"
#include "webrtc/system_wrappers/interface/clock.h"
namespace webrtc {
StreamGenerator::StreamGenerator(uint16_t start_seq_num,
@ -30,7 +29,8 @@ StreamGenerator::StreamGenerator(uint16_t start_seq_num,
timestamp_(start_timestamp),
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) {
packets_.clear();
sequence_number_ = start_seq_num;
@ -45,24 +45,16 @@ void StreamGenerator::GenerateFrame(FrameType type,
int64_t current_time) {
timestamp_ = 90 * (current_time - start_time_);
for (int i = 0; i < num_media_packets; ++i) {
const int packet_size = (kFrameSize + num_media_packets / 2) /
num_media_packets;
const int packet_size =
(kFrameSize + num_media_packets / 2) / num_media_packets;
bool marker_bit = (i == num_media_packets - 1);
packets_.push_back(GeneratePacket(sequence_number_,
timestamp_,
packet_size,
(i == 0),
marker_bit,
type));
packets_.push_back(GeneratePacket(
sequence_number_, timestamp_, packet_size, (i == 0), marker_bit, type));
++sequence_number_;
}
for (int i = 0; i < num_empty_packets; ++i) {
packets_.push_back(GeneratePacket(sequence_number_,
timestamp_,
0,
false,
false,
kFrameEmpty));
packets_.push_back(GeneratePacket(
sequence_number_, timestamp_, 0, false, false, kFrameEmpty));
++sequence_number_;
}
}
@ -119,9 +111,7 @@ bool StreamGenerator::NextPacket(VCMPacket* packet) {
return true;
}
void StreamGenerator::DropLastPacket() {
packets_.pop_back();
}
void StreamGenerator::DropLastPacket() { packets_.pop_back(); }
uint16_t StreamGenerator::NextSequenceNumber() const {
if (packets_.empty())
@ -129,15 +119,14 @@ uint16_t StreamGenerator::NextSequenceNumber() const {
return packets_.front().seqNum;
}
int StreamGenerator::PacketsRemaining() const {
return packets_.size();
}
int StreamGenerator::PacketsRemaining() const { return packets_.size(); }
std::list<VCMPacket>::iterator StreamGenerator::GetPacketIterator(int index) {
std::list<VCMPacket>::iterator it = packets_.begin();
for (int i = 0; i < index; ++i) {
++it;
if (it == packets_.end()) break;
if (it == packets_.end())
break;
}
return it;
}

View File

@ -7,8 +7,8 @@
* 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_VIDEO_CODING_MAIN_SOURCE_STREAM_GENERATOR_H_
#define 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_TEST_STREAM_GENERATOR_H_
#include <string.h>
@ -22,21 +22,23 @@ namespace webrtc {
const unsigned int kDefaultBitrateKbps = 1000;
const unsigned int kDefaultFrameRate = 25;
const unsigned int kMaxPacketSize = 1500;
const unsigned int kFrameSize = (kDefaultBitrateKbps + kDefaultFrameRate * 4) /
(kDefaultFrameRate * 8);
const unsigned int kFrameSize =
(kDefaultBitrateKbps + kDefaultFrameRate * 4) / (kDefaultFrameRate * 8);
const int kDefaultFramePeriodMs = 1000 / kDefaultFrameRate;
class StreamGenerator {
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);
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);
void GenerateFrame(FrameType type, int num_media_packets,
int num_empty_packets, int64_t current_time);
void GenerateFrame(FrameType type,
int num_media_packets,
int num_empty_packets,
int64_t current_time);
VCMPacket GeneratePacket(uint16_t sequence_number,
uint32_t timestamp,
@ -70,4 +72,4 @@ class StreamGenerator {
} // namespace webrtc
#endif // WEBRTC_MODULES_VIDEO_CODING_MAIN_SOURCE_STREAM_GENERATOR_H_
#endif // WEBRTC_MODULES_VIDEO_CODING_MAIN_SOURCE_TEST_STREAM_GENERATOR_H_