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

Side by Side Diff: media/filters/adaptive_demuxer.h

Issue 7601002: Revert r95841 due to failing media_unittests on linux_shared bot. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/ffmpeg/file_protocol.h ('k') | media/filters/adaptive_demuxer_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // Implements a Demuxer that can switch among different data sources mid-stream. 5 // Implements a Demuxer that can switch among different data sources mid-stream.
6 // Uses FFmpegDemuxer under the covers, so see the caveats at the top of 6 // Uses FFmpegDemuxer under the covers, so see the caveats at the top of
7 // ffmpeg_demuxer.h. 7 // ffmpeg_demuxer.h.
8 8
9 #ifndef MEDIA_FILTERS_ADAPTIVE_DEMUXER_H_ 9 #ifndef MEDIA_FILTERS_ADAPTIVE_DEMUXER_H_
10 #define MEDIA_FILTERS_ADAPTIVE_DEMUXER_H_ 10 #define MEDIA_FILTERS_ADAPTIVE_DEMUXER_H_
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 235
236 // AdaptiveDemuxerFactory wraps an underlying DemuxerFactory that knows how to 236 // AdaptiveDemuxerFactory wraps an underlying DemuxerFactory that knows how to
237 // build demuxers for a single URL, and implements a primitive (for now) version 237 // build demuxers for a single URL, and implements a primitive (for now) version
238 // of multi-file manifests. The manifest is encoded in the |url| parameter to 238 // of multi-file manifests. The manifest is encoded in the |url| parameter to
239 // Build() as: 239 // Build() as:
240 // x-adaptive:<initial_audio_index>:<initial_video_index>:<URL>[^<URL>]* where 240 // x-adaptive:<initial_audio_index>:<initial_video_index>:<URL>[^<URL>]* where
241 // <URL>'s are "real" media URLs which are passed to the underlying 241 // <URL>'s are "real" media URLs which are passed to the underlying
242 // DemuxerFactory's Build() method individually. For backward-compatibility, 242 // DemuxerFactory's Build() method individually. For backward-compatibility,
243 // the manifest URL may also simply be a regular URL in which case an implicit 243 // the manifest URL may also simply be a regular URL in which case an implicit
244 // "x-adaptive:0:0:" is prepended. 244 // "x-adaptive:0:0:" is prepended.
245 class MEDIA_EXPORT AdaptiveDemuxerFactory : public DemuxerFactory { 245 class AdaptiveDemuxerFactory : public DemuxerFactory {
246 public: 246 public:
247 // Takes a reference to |demuxer_factory|. 247 // Takes a reference to |demuxer_factory|.
248 AdaptiveDemuxerFactory(DemuxerFactory* delegate_factory); 248 AdaptiveDemuxerFactory(DemuxerFactory* delegate_factory);
249 virtual ~AdaptiveDemuxerFactory(); 249 virtual ~AdaptiveDemuxerFactory();
250 250
251 // DemuxerFactory methods. 251 // DemuxerFactory methods.
252 // If any of the underlying Demuxers encounter construction errors, only the 252 // If any of the underlying Demuxers encounter construction errors, only the
253 // first one (in manifest order) will get reported back in |cb|. 253 // first one (in manifest order) will get reported back in |cb|.
254 virtual void Build(const std::string& url, BuildCallback* cb); 254 virtual void Build(const std::string& url, BuildCallback* cb);
255 virtual DemuxerFactory* Clone() const; 255 virtual DemuxerFactory* Clone() const;
256 256
257 private: 257 private:
258 scoped_ptr<DemuxerFactory> delegate_factory_; 258 scoped_ptr<DemuxerFactory> delegate_factory_;
259 259
260 DISALLOW_IMPLICIT_CONSTRUCTORS(AdaptiveDemuxerFactory); 260 DISALLOW_IMPLICIT_CONSTRUCTORS(AdaptiveDemuxerFactory);
261 }; 261 };
262 262
263 // See AdaptiveDemuxerFactory's class-level comment for |url|'s format.
264 MEDIA_EXPORT bool ParseAdaptiveUrl(
265 const std::string& url, int* audio_index, int* video_index,
266 std::vector<std::string>* urls);
267
268 } // namespace media 263 } // namespace media
269 264
270 #endif // MEDIA_FILTERS_ADAPTIVE_DEMUXER_H_ 265 #endif // MEDIA_FILTERS_ADAPTIVE_DEMUXER_H_
OLDNEW
« no previous file with comments | « media/ffmpeg/file_protocol.h ('k') | media/filters/adaptive_demuxer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698