OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MEDIA_BASE_ANDROID_MEDIA_URL_DEMUXER_H_ | 5 #ifndef MEDIA_BASE_MEDIA_URL_DEMUXER_H_ |
6 #define MEDIA_BASE_ANDROID_MEDIA_URL_DEMUXER_H_ | 6 #define MEDIA_BASE_MEDIA_URL_DEMUXER_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
11 #include "base/macros.h" | 11 #include "base/macros.h" |
12 #include "base/memory/weak_ptr.h" | 12 #include "base/memory/weak_ptr.h" |
13 #include "media/base/demuxer.h" | 13 #include "media/base/demuxer.h" |
14 #include "url/gurl.h" | 14 #include "url/gurl.h" |
15 | 15 |
16 namespace media { | 16 namespace media { |
17 | 17 |
18 // Class that saves a URL for later retrieval. To be used in conjunction with | 18 // Class that saves a URL for later retrieval. To be used in conjunction with |
19 // the MediaPlayerRenderer. | 19 // the MediaPlayerRenderer. |
20 // | 20 // |
21 // Its primary purpose is to act as a dummy Demuxer, when there is no need | 21 // Its primary purpose is to act as a dummy Demuxer, when there is no need |
22 // for DemuxerStreams (e.g. in the MediaPlayerRenderer case). For the most part, | 22 // for DemuxerStreams (e.g. in the MediaPlayerRenderer case). For the most part, |
23 // its implementation of the Demuxer are NOPs that return the default values and | 23 // its implementation of the Demuxer are NOPs that return the default values and |
24 // fire any provided callbacks immediately. | 24 // fire any provided callbacks immediately. |
25 // | 25 // |
26 // If Pipeline where to be refactored to use a DemuxerStreamProvider instead of | 26 // If Pipeline where to be refactored to use a DemuxerStreamProvider instead of |
27 // a Demuxer, MediaUrlDemuxer should be refactored to inherit directly from | 27 // a Demuxer, MediaUrlDemuxer should be refactored to inherit directly from |
28 // DemuxerStreamProvider. | 28 // DemuxerStreamProvider. |
29 class MediaUrlDemuxer : public Demuxer { | 29 class MEDIA_EXPORT MediaUrlDemuxer : public Demuxer { |
30 public: | 30 public: |
31 MediaUrlDemuxer( | 31 MediaUrlDemuxer( |
32 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 32 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
33 const GURL& url); | 33 const GURL& url); |
34 ~MediaUrlDemuxer() override; | 34 ~MediaUrlDemuxer() override; |
35 | 35 |
36 // DemuxerStreamProvider interface. | 36 // DemuxerStreamProvider interface. |
37 DemuxerStream* GetStream(DemuxerStream::Type type) override; | 37 DemuxerStream* GetStream(DemuxerStream::Type type) override; |
38 GURL GetUrl() const override; | 38 GURL GetUrl() const override; |
39 DemuxerStreamProvider::Type GetType() const override; | 39 DemuxerStreamProvider::Type GetType() const override; |
(...skipping 18 matching lines...) Expand all Loading... |
58 private: | 58 private: |
59 GURL url_; | 59 GURL url_; |
60 | 60 |
61 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; | 61 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
62 | 62 |
63 DISALLOW_COPY_AND_ASSIGN(MediaUrlDemuxer); | 63 DISALLOW_COPY_AND_ASSIGN(MediaUrlDemuxer); |
64 }; | 64 }; |
65 | 65 |
66 } // namespace media | 66 } // namespace media |
67 | 67 |
68 #endif // MEDIA_BASE_ANDROID_MEDIA_URL_DEMUXER_H_ | 68 #endif // MEDIA_BASE_MEDIA_URL_DEMUXER_H_ |
OLD | NEW |