Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(313)

Unified Diff: media/filters/fake_demuxer_stream.cc

Issue 339653003: No EOS frame in {Audio|Video}Decoder::OutputCB. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase only Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/filters/fake_demuxer_stream.h ('k') | media/filters/fake_demuxer_stream_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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(
« no previous file with comments | « media/filters/fake_demuxer_stream.h ('k') | media/filters/fake_demuxer_stream_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698