summaryrefslogtreecommitdiffstats
path: root/chromium/media/filters/fake_demuxer_stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/filters/fake_demuxer_stream.h')
-rw-r--r--chromium/media/filters/fake_demuxer_stream.h27
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_;