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

Unified Diff: media/base/demuxer.h

Issue 8936014: Removing DataSource from Filter hierarchy (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix build busters Created 9 years 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
Index: media/base/demuxer.h
diff --git a/media/base/demuxer.h b/media/base/demuxer.h
index 972d250a094cfdbd84d275718d3b837edaa4c15c..2534cb205b3c85e9125674449b7eaafc3ee01711 100644
--- a/media/base/demuxer.h
+++ b/media/base/demuxer.h
@@ -6,6 +6,7 @@
#define MEDIA_BASE_DEMUXER_H_
#include "base/memory/ref_counted.h"
+#include "media/base/data_source.h"
#include "media/base/demuxer_stream.h"
#include "media/base/media_export.h"
@@ -16,7 +17,26 @@
namespace media {
-class FilterHost;
+class DemuxerHost : public DataSourceHost {
+ public:
+ // Get the duration of the media in microseconds. If the duration has not
+ // been determined yet, then returns 0.
+ virtual void SetDuration(base::TimeDelta duration) = 0;
+
+ // Set the approximate amount of playable data buffered so far in micro-
+ // seconds.
+ virtual void SetBufferedTime(base::TimeDelta buffered_time) = 0;
+
+ // Sets the byte offset at which the client is requesting the video.
+ virtual void SetCurrentReadPosition(int64 offset) = 0;
+
+ // Stops execution of the pipeline due to a fatal error. Do not call this
+ // method with PIPELINE_OK.
+ virtual void OnDemuxerError(PipelineStatus error) = 0;
+
+ protected:
+ virtual ~DemuxerHost() {}
Ami GONE FROM CHROMIUM 2011/12/15 18:39:08 Out-of-line please. (even though here the clang pl
acolwell GONE FROM CHROMIUM 2011/12/15 20:57:59 Done and made public since I don't have a good rea
+};
class MEDIA_EXPORT Demuxer
: public base::RefCountedThreadSafe<Demuxer> {
@@ -27,7 +47,7 @@ class MEDIA_EXPORT Demuxer
// to be released before the host object is destroyed by the pipeline.
//
// TODO(acolwell): Change this to a narrow DemuxerHost interface.
- virtual void set_host(FilterHost* host);
+ virtual void set_host(DemuxerHost* host);
// The pipeline playback rate has been changed. Demuxers may implement this
// method if they need to respond to this call.
@@ -70,13 +90,13 @@ class MEDIA_EXPORT Demuxer
protected:
Ami GONE FROM CHROMIUM 2011/12/15 18:39:08 Ditto q about documenting protected.
acolwell GONE FROM CHROMIUM 2011/12/15 20:57:59 Done.
Demuxer();
- FilterHost* host() { return host_; }
+ DemuxerHost* host() { return host_; }
friend class base::RefCountedThreadSafe<Demuxer>;
virtual ~Demuxer();
private:
- FilterHost* host_;
+ DemuxerHost* host_;
DISALLOW_COPY_AND_ASSIGN(Demuxer);
};

Powered by Google App Engine
This is Rietveld 408576698