OLD | NEW |
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 #ifndef MEDIA_BASE_DEMUXER_H_ | 5 #ifndef MEDIA_BASE_DEMUXER_H_ |
6 #define MEDIA_BASE_DEMUXER_H_ | 6 #define MEDIA_BASE_DEMUXER_H_ |
7 | 7 |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "media/base/demuxer_stream.h" | 9 #include "media/base/demuxer_stream.h" |
10 #include "media/base/media_export.h" | 10 #include "media/base/media_export.h" |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 | 50 |
51 // Returns the given stream type, or NULL if that type is not present. | 51 // Returns the given stream type, or NULL if that type is not present. |
52 virtual scoped_refptr<DemuxerStream> GetStream(DemuxerStream::Type type) = 0; | 52 virtual scoped_refptr<DemuxerStream> GetStream(DemuxerStream::Type type) = 0; |
53 | 53 |
54 // Alert the Demuxer that the video preload value has been changed. | 54 // Alert the Demuxer that the video preload value has been changed. |
55 virtual void SetPreload(Preload preload) = 0; | 55 virtual void SetPreload(Preload preload) = 0; |
56 | 56 |
57 // Returns the starting time for the media file. | 57 // Returns the starting time for the media file. |
58 virtual base::TimeDelta GetStartTime() const = 0; | 58 virtual base::TimeDelta GetStartTime() const = 0; |
59 | 59 |
| 60 // Returns the content bitrate. May be obtained from container or |
| 61 // approximated. Returns 0 if it is unknown. |
| 62 virtual int GetBitrate() = 0; |
| 63 |
60 protected: | 64 protected: |
61 Demuxer(); | 65 Demuxer(); |
62 FilterHost* host() { return host_; } | 66 FilterHost* host() { return host_; } |
63 | 67 |
64 friend class base::RefCountedThreadSafe<Demuxer>; | 68 friend class base::RefCountedThreadSafe<Demuxer>; |
65 virtual ~Demuxer(); | 69 virtual ~Demuxer(); |
66 | 70 |
67 private: | 71 private: |
68 FilterHost* host_; | 72 FilterHost* host_; |
69 | 73 |
70 DISALLOW_COPY_AND_ASSIGN(Demuxer); | 74 DISALLOW_COPY_AND_ASSIGN(Demuxer); |
71 }; | 75 }; |
72 | 76 |
73 } // namespace media | 77 } // namespace media |
74 | 78 |
75 #endif // MEDIA_BASE_DEMUXER_H_ | 79 #endif // MEDIA_BASE_DEMUXER_H_ |
OLD | NEW |