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:
@ -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_;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user