OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_FORMATS_MPEG_MPEG_AUDIO_STREAM_PARSER_BASE_H_ | 5 #ifndef MEDIA_FORMATS_MPEG_MPEG_AUDIO_STREAM_PARSER_BASE_H_ |
6 #define MEDIA_FORMATS_MPEG_MPEG_AUDIO_STREAM_PARSER_BASE_H_ | 6 #define MEDIA_FORMATS_MPEG_MPEG_AUDIO_STREAM_PARSER_BASE_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 class MEDIA_EXPORT MPEGAudioStreamParserBase : public StreamParser { | 22 class MEDIA_EXPORT MPEGAudioStreamParserBase : public StreamParser { |
23 public: | 23 public: |
24 // |start_code_mask| is used to find the start of each frame header. Also | 24 // |start_code_mask| is used to find the start of each frame header. Also |
25 // referred to as the sync code in the MP3 and ADTS header specifications. | 25 // referred to as the sync code in the MP3 and ADTS header specifications. |
26 // |codec_delay| is the number of samples the decoder will output before the | 26 // |codec_delay| is the number of samples the decoder will output before the |
27 // first real frame. | 27 // first real frame. |
28 MPEGAudioStreamParserBase(uint32 start_code_mask, | 28 MPEGAudioStreamParserBase(uint32 start_code_mask, |
29 AudioCodec audio_codec, | 29 AudioCodec audio_codec, |
30 int codec_delay); | 30 int codec_delay); |
31 virtual ~MPEGAudioStreamParserBase(); | 31 ~MPEGAudioStreamParserBase() override; |
32 | 32 |
33 // StreamParser implementation. | 33 // StreamParser implementation. |
34 virtual void Init(const InitCB& init_cb, | 34 void Init(const InitCB& init_cb, |
35 const NewConfigCB& config_cb, | 35 const NewConfigCB& config_cb, |
36 const NewBuffersCB& new_buffers_cb, | 36 const NewBuffersCB& new_buffers_cb, |
37 bool ignore_text_tracks, | 37 bool ignore_text_tracks, |
38 const NeedKeyCB& need_key_cb, | 38 const NeedKeyCB& need_key_cb, |
39 const NewMediaSegmentCB& new_segment_cb, | 39 const NewMediaSegmentCB& new_segment_cb, |
40 const base::Closure& end_of_segment_cb, | 40 const base::Closure& end_of_segment_cb, |
41 const LogCB& log_cb) override; | 41 const LogCB& log_cb) override; |
42 virtual void Flush() override; | 42 void Flush() override; |
43 virtual bool Parse(const uint8* buf, int size) override; | 43 bool Parse(const uint8* buf, int size) override; |
44 | 44 |
45 protected: | 45 protected: |
46 // Subclasses implement this method to parse format specific frame headers. | 46 // Subclasses implement this method to parse format specific frame headers. |
47 // |data| & |size| describe the data available for parsing. | 47 // |data| & |size| describe the data available for parsing. |
48 // | 48 // |
49 // Implementations are expected to consume an entire frame header. It should | 49 // Implementations are expected to consume an entire frame header. It should |
50 // only return a value greater than 0 when |data| has enough bytes to | 50 // only return a value greater than 0 when |data| has enough bytes to |
51 // successfully parse & consume the entire frame header. | 51 // successfully parse & consume the entire frame header. |
52 // | 52 // |
53 // |frame_size| - Required parameter that is set to the size of the frame, in | 53 // |frame_size| - Required parameter that is set to the size of the frame, in |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 const uint32 start_code_mask_; | 147 const uint32 start_code_mask_; |
148 const AudioCodec audio_codec_; | 148 const AudioCodec audio_codec_; |
149 const int codec_delay_; | 149 const int codec_delay_; |
150 | 150 |
151 DISALLOW_COPY_AND_ASSIGN(MPEGAudioStreamParserBase); | 151 DISALLOW_COPY_AND_ASSIGN(MPEGAudioStreamParserBase); |
152 }; | 152 }; |
153 | 153 |
154 } // namespace media | 154 } // namespace media |
155 | 155 |
156 #endif // MEDIA_FORMATS_MPEG_MPEG_AUDIO_STREAM_PARSER_BASE_H_ | 156 #endif // MEDIA_FORMATS_MPEG_MPEG_AUDIO_STREAM_PARSER_BASE_H_ |
OLD | NEW |