Chromium Code Reviews| Index: media/base/android/media_url_provider.h |
| diff --git a/media/base/android/media_url_provider.h b/media/base/android/media_url_provider.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..abfad1c04431d425cb45891f750449df7b08e559 |
| --- /dev/null |
| +++ b/media/base/android/media_url_provider.h |
| @@ -0,0 +1,59 @@ |
| +// 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_PRODIVDER_H_ |
|
DaleCurtis
2016/06/24 00:42:30
watk@ is going to have a fit, PRODIVDER? :p
tguilbert
2016/06/24 03:13:19
Woops! :P
|
| +#define MEDIA_BASE_ANDROID_MEDIA_URL_PRODIVDER_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, MediaUrlProvider should be refactored to inherit directly from |
| +// DemuxerStreamProvider. |
| +class MediaUrlProvider : public Demuxer { |
|
DaleCurtis
2016/06/24 00:42:30
It's called a provider, but extends a Demuxer? :)
tguilbert
2016/06/24 03:13:19
Done.
|
| + public: |
| + MediaUrlProvider(const GURL& url); |
|
DaleCurtis
2016/06/24 00:42:30
Use explicit with single parameter constructors.
tguilbert
2016/06/24 03:13:20
Done.
|
| + ~MediaUrlProvider() override; |
| + |
| + // DemuxerStreamProvider interface. |
| + DemuxerStream* GetStream(DemuxerStream::Type type) override; |
| + GURL* GetUrl() override; |
| + |
| + // 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(MediaUrlProvider); |
| +}; |
| + |
| +} // namespace media |
| + |
| +#endif // MEDIA_BASE_ANDROID_MEDIA_URL_PRODIVDER_H_ |