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_BASE_STREAM_PARSER_H_ | 5 #ifndef MEDIA_BASE_STREAM_PARSER_H_ |
6 #define MEDIA_BASE_STREAM_PARSER_H_ | 6 #define MEDIA_BASE_STREAM_PARSER_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/callback_forward.h" | 13 #include "base/callback_forward.h" |
14 #include "base/memory/ref_counted.h" | 14 #include "base/memory/ref_counted.h" |
15 #include "base/memory/scoped_ptr.h" | 15 #include "base/memory/scoped_ptr.h" |
16 #include "base/time/time.h" | 16 #include "base/time/time.h" |
17 #include "media/base/demuxer_stream.h" | 17 #include "media/base/demuxer_stream.h" |
18 #include "media/base/eme_constants.h" | 18 #include "media/base/eme_constants.h" |
19 #include "media/base/media_export.h" | 19 #include "media/base/media_export.h" |
20 #include "media/base/media_log.h" | 20 #include "media/base/media_log.h" |
| 21 #include "media/base/text_track_config.h" |
21 | 22 |
22 namespace media { | 23 namespace media { |
23 | 24 |
24 class AudioDecoderConfig; | 25 class AudioDecoderConfig; |
25 class StreamParserBuffer; | 26 class StreamParserBuffer; |
26 class TextTrackConfig; | |
27 class VideoDecoderConfig; | 27 class VideoDecoderConfig; |
28 | 28 |
29 // Abstract interface for parsing media byte streams. | 29 // Abstract interface for parsing media byte streams. |
30 class MEDIA_EXPORT StreamParser { | 30 class MEDIA_EXPORT StreamParser { |
31 public: | 31 public: |
32 typedef std::deque<scoped_refptr<StreamParserBuffer> > BufferQueue; | 32 typedef std::deque<scoped_refptr<StreamParserBuffer> > BufferQueue; |
33 | 33 |
34 // Range of |TrackId| is dependent upon stream parsers. It is currently | 34 // Range of |TrackId| is dependent upon stream parsers. It is currently |
35 // the key for the buffer's text track config in the applicable | 35 // the key for the buffer's text track config in the applicable |
36 // TextTrackConfigMap (which is passed in StreamParser::NewConfigCB), or | 36 // TextTrackConfigMap (which is passed in StreamParser::NewConfigCB), or |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 // subtle issues with tie-breaking. See http://crbug.com/338484. | 154 // subtle issues with tie-breaking. See http://crbug.com/338484. |
155 MEDIA_EXPORT bool MergeBufferQueues( | 155 MEDIA_EXPORT bool MergeBufferQueues( |
156 const StreamParser::BufferQueue& audio_buffers, | 156 const StreamParser::BufferQueue& audio_buffers, |
157 const StreamParser::BufferQueue& video_buffers, | 157 const StreamParser::BufferQueue& video_buffers, |
158 const StreamParser::TextBufferQueueMap& text_buffers, | 158 const StreamParser::TextBufferQueueMap& text_buffers, |
159 StreamParser::BufferQueue* merged_buffers); | 159 StreamParser::BufferQueue* merged_buffers); |
160 | 160 |
161 } // namespace media | 161 } // namespace media |
162 | 162 |
163 #endif // MEDIA_BASE_STREAM_PARSER_H_ | 163 #endif // MEDIA_BASE_STREAM_PARSER_H_ |
OLD | NEW |