OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_FILTERS_CHUNK_DEMUXER_H_ | 5 #ifndef MEDIA_FILTERS_CHUNK_DEMUXER_H_ |
6 #define MEDIA_FILTERS_CHUNK_DEMUXER_H_ | 6 #define MEDIA_FILTERS_CHUNK_DEMUXER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
118 bool OnAudioBuffers(const StreamParser::BufferQueue& buffers); | 118 bool OnAudioBuffers(const StreamParser::BufferQueue& buffers); |
119 bool OnVideoBuffers(const StreamParser::BufferQueue& buffers); | 119 bool OnVideoBuffers(const StreamParser::BufferQueue& buffers); |
120 bool OnKeyNeeded(scoped_array<uint8> init_data, int init_data_size); | 120 bool OnKeyNeeded(scoped_array<uint8> init_data, int init_data_size); |
121 void OnNewMediaSegment(const std::string& source_id, | 121 void OnNewMediaSegment(const std::string& source_id, |
122 base::TimeDelta start_timestamp); | 122 base::TimeDelta start_timestamp); |
123 | 123 |
124 // Helper functions for calculating GetBufferedRanges(). | 124 // Helper functions for calculating GetBufferedRanges(). |
125 bool CopyIntoRanges( | 125 bool CopyIntoRanges( |
126 const SourceBufferStream::TimespanList& timespans, | 126 const SourceBufferStream::TimespanList& timespans, |
127 Ranges* ranges_out) const; | 127 Ranges* ranges_out) const; |
128 | |
129 // Computes the intersection between the video & audio | |
130 // buffered ranges. | |
131 // Returns true if the intersection was computed and stored in |ranges_out|. | |
132 // Returns false if no data was buffered. | |
133 bool ComputeIntersection(Ranges* ranges_out) const; | |
Ami GONE FROM CHROMIUM
2012/06/18 16:18:31
I don't get why make the return value bool instead
acolwell GONE FROM CHROMIUM
2012/06/19 06:12:34
Done.
| |
134 | |
128 void AddIntersectionRange( | 135 void AddIntersectionRange( |
129 SourceBufferStream::Timespan timespan_a, | 136 SourceBufferStream::Timespan timespan_a, |
130 SourceBufferStream::Timespan timespan_b, | 137 SourceBufferStream::Timespan timespan_b, |
131 bool last_range_after_ended, | 138 bool last_range_after_ended, |
132 Ranges* ranges_out) const; | 139 Ranges* ranges_out) const; |
133 | 140 |
134 mutable base::Lock lock_; | 141 mutable base::Lock lock_; |
135 State state_; | 142 State state_; |
136 | 143 |
137 DemuxerHost* host_; | 144 DemuxerHost* host_; |
138 ChunkDemuxerClient* client_; | 145 ChunkDemuxerClient* client_; |
139 PipelineStatusCB init_cb_; | 146 PipelineStatusCB init_cb_; |
140 PipelineStatusCB seek_cb_; | 147 PipelineStatusCB seek_cb_; |
141 | 148 |
142 scoped_refptr<ChunkDemuxerStream> audio_; | 149 scoped_refptr<ChunkDemuxerStream> audio_; |
143 scoped_refptr<ChunkDemuxerStream> video_; | 150 scoped_refptr<ChunkDemuxerStream> video_; |
144 | 151 |
145 int64 buffered_bytes_; | |
146 | |
147 base::TimeDelta duration_; | 152 base::TimeDelta duration_; |
148 | 153 |
149 typedef std::map<std::string, StreamParser*> StreamParserMap; | 154 typedef std::map<std::string, StreamParser*> StreamParserMap; |
150 StreamParserMap stream_parser_map_; | 155 StreamParserMap stream_parser_map_; |
151 | 156 |
152 // Used to ensure that (1) config data matches the type and codec provided in | 157 // Used to ensure that (1) config data matches the type and codec provided in |
153 // AddId(), (2) only 1 audio and 1 video sources are added, and (3) ids may be | 158 // AddId(), (2) only 1 audio and 1 video sources are added, and (3) ids may be |
154 // removed with RemoveID() but can not be re-added (yet). | 159 // removed with RemoveID() but can not be re-added (yet). |
155 std::string source_id_audio_; | 160 std::string source_id_audio_; |
156 std::string source_id_video_; | 161 std::string source_id_video_; |
157 | 162 |
158 DISALLOW_COPY_AND_ASSIGN(ChunkDemuxer); | 163 DISALLOW_COPY_AND_ASSIGN(ChunkDemuxer); |
159 }; | 164 }; |
160 | 165 |
161 } // namespace media | 166 } // namespace media |
162 | 167 |
163 #endif // MEDIA_FILTERS_CHUNK_DEMUXER_H_ | 168 #endif // MEDIA_FILTERS_CHUNK_DEMUXER_H_ |
OLD | NEW |