Index: media/filters/fake_demuxer_stream.cc |
diff --git a/media/filters/fake_demuxer_stream.cc b/media/filters/fake_demuxer_stream.cc |
index ba86363fb8d1db760caa6c5b81e006a32f950090..026b7602f3d92281a8715334729c68a49d7cde7f 100644 |
--- a/media/filters/fake_demuxer_stream.cc |
+++ b/media/filters/fake_demuxer_stream.cc |
@@ -34,24 +34,30 @@ FakeDemuxerStream::FakeDemuxerStream(int num_configs, |
int num_buffers_in_one_config, |
bool is_encrypted) |
: task_runner_(base::MessageLoopProxy::current()), |
- num_configs_left_(num_configs), |
+ num_configs_(num_configs), |
num_buffers_in_one_config_(num_buffers_in_one_config), |
config_changes_(num_configs > 1), |
is_encrypted_(is_encrypted), |
- num_buffers_left_in_current_config_(num_buffers_in_one_config), |
- num_buffers_returned_(0), |
- current_timestamp_(base::TimeDelta::FromMilliseconds(kStartTimestampMs)), |
- duration_(base::TimeDelta::FromMilliseconds(kDurationMs)), |
- next_coded_size_(kStartWidth, kStartHeight), |
- next_read_num_(0), |
read_to_hold_(-1) { |
- DCHECK_GT(num_configs_left_, 0); |
- DCHECK_GT(num_buffers_in_one_config_, 0); |
+ DCHECK_GT(num_configs, 0); |
+ DCHECK_GT(num_buffers_in_one_config, 0); |
+ Initialize(); |
UpdateVideoDecoderConfig(); |
} |
FakeDemuxerStream::~FakeDemuxerStream() {} |
+void FakeDemuxerStream::Initialize() { |
+ DCHECK_EQ(-1, read_to_hold_); |
+ num_configs_left_ = num_configs_; |
+ num_buffers_left_in_current_config_ = num_buffers_in_one_config_; |
+ num_buffers_returned_ = 0; |
+ current_timestamp_ = base::TimeDelta::FromMilliseconds(kStartTimestampMs); |
+ duration_ = base::TimeDelta::FromMilliseconds(kDurationMs); |
+ next_coded_size_ = gfx::Size(kStartWidth, kStartHeight); |
+ next_read_num_ = 0; |
+} |
+ |
void FakeDemuxerStream::Read(const ReadCB& read_cb) { |
DCHECK(task_runner_->BelongsToCurrentThread()); |
DCHECK(read_cb_.is_null()); |
@@ -127,6 +133,11 @@ void FakeDemuxerStream::Reset() { |
base::ResetAndReturn(&read_cb_).Run(kAborted, NULL); |
} |
+void FakeDemuxerStream::SeekToStart() { |
+ Reset(); |
+ Initialize(); |
+} |
+ |
void FakeDemuxerStream::UpdateVideoDecoderConfig() { |
const gfx::Rect kVisibleRect(kStartWidth, kStartHeight); |
video_decoder_config_.Initialize( |