Remove the timestamp_ member of StreamGenerator.

timestamp_ is only used in GenerateFrame() and its old value is
discarded. So it just needs to be a local variable in GenerateFrame().
As a result, we can remove the start_timestamp parameter from the
constructor and Init().

Also mark the GeneratePacket() method private because it is only used
internally.

R=stefan@webrtc.org
BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9386}
This commit is contained in:
Wan-Teh Chang
2015-06-05 14:45:05 -07:00
parent f291287a7e
commit 349c2bb223
4 changed files with 27 additions and 39 deletions

View File

@ -21,20 +21,13 @@
namespace webrtc {
StreamGenerator::StreamGenerator(uint16_t start_seq_num,
uint32_t start_timestamp,
int64_t current_time)
: packets_(),
sequence_number_(start_seq_num),
timestamp_(start_timestamp),
start_time_(current_time) {}
StreamGenerator::StreamGenerator(uint16_t start_seq_num, int64_t current_time)
: packets_(), sequence_number_(start_seq_num), start_time_(current_time) {
}
void StreamGenerator::Init(uint16_t start_seq_num,
uint32_t start_timestamp,
int64_t current_time) {
void StreamGenerator::Init(uint16_t start_seq_num, int64_t current_time) {
packets_.clear();
sequence_number_ = start_seq_num;
timestamp_ = start_timestamp;
start_time_ = current_time;
memset(&packet_buffer, 0, sizeof(packet_buffer));
}
@ -43,18 +36,18 @@ void StreamGenerator::GenerateFrame(FrameType type,
int num_media_packets,
int num_empty_packets,
int64_t current_time) {
timestamp_ = 90 * (current_time - start_time_);
uint32_t 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;
bool marker_bit = (i == num_media_packets - 1);
packets_.push_back(GeneratePacket(
sequence_number_, timestamp_, packet_size, (i == 0), marker_bit, type));
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));
sequence_number_, timestamp, 0, false, false, kFrameEmpty));
++sequence_number_;
}
}

View File

@ -28,25 +28,14 @@ const int kDefaultFramePeriodMs = 1000 / kDefaultFrameRate;
class StreamGenerator {
public:
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,
int64_t current_time);
StreamGenerator(uint16_t start_seq_num, int64_t current_time);
void Init(uint16_t start_seq_num, 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,
unsigned int size,
bool first_packet,
bool marker_bit,
FrameType type);
bool PopPacket(VCMPacket* packet, int index);
void DropLastPacket();
@ -59,11 +48,17 @@ class StreamGenerator {
int PacketsRemaining() const;
private:
VCMPacket GeneratePacket(uint16_t sequence_number,
uint32_t timestamp,
unsigned int size,
bool first_packet,
bool marker_bit,
FrameType type);
std::list<VCMPacket>::iterator GetPacketIterator(int index);
std::list<VCMPacket> packets_;
uint16_t sequence_number_;
uint32_t timestamp_;
int64_t start_time_;
uint8_t packet_buffer[kMaxPacketSize];