OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_BLINK_MULTIBUFFER_DATA_SOURCE_H_ | 5 #ifndef MEDIA_BLINK_MULTIBUFFER_DATA_SOURCE_H_ |
6 #define MEDIA_BLINK_MULTIBUFFER_DATA_SOURCE_H_ | 6 #define MEDIA_BLINK_MULTIBUFFER_DATA_SOURCE_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 | 90 |
91 // Returns true if the media resource has a single origin, false otherwise. | 91 // Returns true if the media resource has a single origin, false otherwise. |
92 // Only valid to call after Initialize() has completed. | 92 // Only valid to call after Initialize() has completed. |
93 // | 93 // |
94 // Method called on the render thread. | 94 // Method called on the render thread. |
95 bool HasSingleOrigin(); | 95 bool HasSingleOrigin(); |
96 | 96 |
97 // Returns true if the media resource passed a CORS access control check. | 97 // Returns true if the media resource passed a CORS access control check. |
98 bool DidPassCORSAccessCheck() const; | 98 bool DidPassCORSAccessCheck() const; |
99 | 99 |
100 // Cancels initialization, any pending loaders, and any pending read calls | |
101 // from the demuxer. The caller is expected to release its reference to this | |
102 // object and never call it again. | |
103 // | |
104 // Method called on the render thread. | |
105 void Abort(); | |
106 | |
107 // Notifies changes in playback state for controlling media buffering | 100 // Notifies changes in playback state for controlling media buffering |
108 // behavior. | 101 // behavior. |
109 void MediaPlaybackRateChanged(double playback_rate); | 102 void MediaPlaybackRateChanged(double playback_rate); |
110 void MediaIsPlaying(); | 103 void MediaIsPlaying(); |
111 bool media_has_played() const; | 104 bool media_has_played() const; |
112 | 105 |
113 // Returns true if the resource is local. | 106 // Returns true if the resource is local. |
114 bool assume_fully_buffered(); | 107 bool assume_fully_buffered(); |
115 | 108 |
116 // Cancels any open network connections once reaching the deferred state. If | 109 // Cancels any open network connections once reaching the deferred state. If |
117 // |always_cancel| is false this is done only for preload=metadata, non- | 110 // |always_cancel| is false this is done only for preload=metadata, non- |
118 // streaming resources that have not started playback. If |always_cancel| is | 111 // streaming resources that have not started playback. If |always_cancel| is |
119 // true, all resource types will have their connections canceled. If already | 112 // true, all resource types will have their connections canceled. If already |
120 // deferred, connections will be immediately closed. | 113 // deferred, connections will be immediately closed. |
121 void OnBufferingHaveEnough(bool always_cancel); | 114 void OnBufferingHaveEnough(bool always_cancel); |
122 | 115 |
123 int64_t GetMemoryUsage() const; | 116 int64_t GetMemoryUsage() const; |
124 | 117 |
125 GURL GetUrlAfterRedirects() const; | 118 GURL GetUrlAfterRedirects() const; |
126 | 119 |
127 // DataSource implementation. | 120 // DataSource implementation. |
128 // Called from demuxer thread. | 121 // Called from demuxer thread. |
129 void Stop() override; | 122 void Stop() override; |
| 123 void Abort() override; |
130 | 124 |
131 void Read(int64_t position, | 125 void Read(int64_t position, |
132 int size, | 126 int size, |
133 uint8_t* data, | 127 uint8_t* data, |
134 const DataSource::ReadCB& read_cb) override; | 128 const DataSource::ReadCB& read_cb) override; |
135 bool GetSize(int64_t* size_out) override; | 129 bool GetSize(int64_t* size_out) override; |
136 bool IsStreaming() override; | 130 bool IsStreaming() override; |
137 void SetBitrate(int bitrate) override; | 131 void SetBitrate(int bitrate) override; |
138 | 132 |
139 protected: | 133 protected: |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 // reaching into this class from multiple threads to attain a WeakPtr. | 262 // reaching into this class from multiple threads to attain a WeakPtr. |
269 base::WeakPtr<MultibufferDataSource> weak_ptr_; | 263 base::WeakPtr<MultibufferDataSource> weak_ptr_; |
270 base::WeakPtrFactory<MultibufferDataSource> weak_factory_; | 264 base::WeakPtrFactory<MultibufferDataSource> weak_factory_; |
271 | 265 |
272 DISALLOW_COPY_AND_ASSIGN(MultibufferDataSource); | 266 DISALLOW_COPY_AND_ASSIGN(MultibufferDataSource); |
273 }; | 267 }; |
274 | 268 |
275 } // namespace media | 269 } // namespace media |
276 | 270 |
277 #endif // MEDIA_BLINK_MULTIBUFFER_DATA_SOURCE_H_ | 271 #endif // MEDIA_BLINK_MULTIBUFFER_DATA_SOURCE_H_ |
OLD | NEW |