diff options
Diffstat (limited to 'chromium/media/filters/fake_demuxer_stream.h')
-rw-r--r-- | chromium/media/filters/fake_demuxer_stream.h | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/chromium/media/filters/fake_demuxer_stream.h b/chromium/media/filters/fake_demuxer_stream.h index 4ed479687e7..bacf0bddefd 100644 --- a/chromium/media/filters/fake_demuxer_stream.h +++ b/chromium/media/filters/fake_demuxer_stream.h @@ -12,7 +12,7 @@ #include "media/base/video_decoder_config.h" namespace base { -class MessageLoopProxy; +class SingleThreadTaskRunner; } // namespace base namespace media { @@ -33,6 +33,9 @@ class FakeDemuxerStream : public DemuxerStream { virtual VideoDecoderConfig video_decoder_config() OVERRIDE; virtual Type type() OVERRIDE; virtual void EnableBitstreamConverter() OVERRIDE; + virtual bool SupportsConfigChanges() OVERRIDE; + + void Initialize(); int num_buffers_returned() const { return num_buffers_returned_; } @@ -48,19 +51,34 @@ class FakeDemuxerStream : public DemuxerStream { // Satisfies the pending read with the next scheduled status and buffer. void SatisfyRead(); + // Satisfies pending read request and then holds the following read. + void SatisfyReadAndHoldNext(); + // Satisfies the pending read (if any) with kAborted and NULL. This call // always clears |hold_next_read_|. void Reset(); + // Reset() this demuxer stream and set the reading position to the start of + // the stream. + void SeekToStart(); + + // Sets the splice timestamp for all furture buffers returned via Read(). + void set_splice_timestamp(base::TimeDelta splice_timestamp) { + splice_timestamp_ = splice_timestamp; + } + private: void UpdateVideoDecoderConfig(); void DoRead(); - scoped_refptr<base::MessageLoopProxy> message_loop_; + scoped_refptr<base::SingleThreadTaskRunner> task_runner_; + + const int num_configs_; + const int num_buffers_in_one_config_; + const bool config_changes_; + const bool is_encrypted_; int num_configs_left_; - int num_buffers_in_one_config_; - bool is_encrypted_; // Number of frames left with the current decoder config. int num_buffers_left_in_current_config_; @@ -69,6 +87,7 @@ class FakeDemuxerStream : public DemuxerStream { base::TimeDelta current_timestamp_; base::TimeDelta duration_; + base::TimeDelta splice_timestamp_; gfx::Size next_coded_size_; VideoDecoderConfig video_decoder_config_; |