Chromium Code Reviews| Index: media/base/android/media_url_demuxer.h |
| diff --git a/media/base/android/media_url_demuxer.h b/media/base/android/media_url_demuxer.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5e84b6e51bbe085afbf0e3d968260dcc01177be9 |
| --- /dev/null |
| +++ b/media/base/android/media_url_demuxer.h |
| @@ -0,0 +1,60 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef MEDIA_BASE_ANDROID_MEDIA_URL_DEMUXER_H_ |
| +#define MEDIA_BASE_ANDROID_MEDIA_URL_DEMUXER_H_ |
| + |
| +#include <stddef.h> |
| + |
| +#include "base/callback.h" |
| +#include "base/macros.h" |
| +#include "base/memory/weak_ptr.h" |
| +#include "media/base/demuxer.h" |
| +#include "url/gurl.h" |
| + |
| +namespace media { |
| + |
| +// Class that saves a URL for later retrieval. To be used in conjunction with |
| +// the MediaPlayerRenderer. |
| +// |
| +// Its primary purpose is to act as a dummy Demuxer, when there is no need |
| +// for DemuxerStreams (e.g. in the MediaPlayerRenderer case). For the most part, |
| +// its implementation of the Demuxer are NOPs that return the default values and |
| +// fire any provided callbacks immediately. |
| +// |
| +// If Pipeline where to be refactored to use a DemuxerStreamProvider instead of |
| +// a Demuxer, MediaUrlDemuxer should be refactored to inherit directly from |
| +// DemuxerStreamProvider. |
| +class MediaUrlDemuxer : public Demuxer { |
| + public: |
| + explicit MediaUrlDemuxer(const GURL& url); |
| + ~MediaUrlDemuxer() override; |
| + |
| + // DemuxerStreamProvider interface. |
| + DemuxerStream* GetStream(DemuxerStream::Type type) override; |
| + GURL GetUrl() override; |
| + Type type() override; |
|
DaleCurtis
2016/06/24 22:02:40
Can't be hacker_style() either if not inline.
tguilbert
2016/06/24 23:21:47
TIL hacker_style <=> inlining. Done.
|
| + |
| + // Demuxer interface. |
| + std::string GetDisplayName() const override; |
| + void Initialize(DemuxerHost* host, |
| + const PipelineStatusCB& status_cb, |
| + bool enable_text_tracks) override; |
| + void StartWaitingForSeek(base::TimeDelta seek_time) override; |
| + void CancelPendingSeek(base::TimeDelta seek_time) override; |
| + void Seek(base::TimeDelta time, const PipelineStatusCB& status_cb) override; |
| + void Stop() override; |
| + base::TimeDelta GetStartTime() const override; |
| + base::Time GetTimelineOffset() const override; |
| + int64_t GetMemoryUsage() const override; |
| + |
| + private: |
| + GURL url_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(MediaUrlDemuxer); |
| +}; |
| + |
| +} // namespace media |
| + |
| +#endif // MEDIA_BASE_ANDROID_MEDIA_URL_DEMUXER_H_ |