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/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',
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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;
|
||||
}
|
@ -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_
|
Loading…
x
Reference in New Issue
Block a user