adts_stream_parser.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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
  3. // found in the LICENSE file.
  4. #ifndef MEDIA_FORMATS_MPEG_ADTS_STREAM_PARSER_H_
  5. #define MEDIA_FORMATS_MPEG_ADTS_STREAM_PARSER_H_
  6. #include <stdint.h>
  7. #include "media/base/media_export.h"
  8. #include "media/formats/mpeg/mpeg_audio_stream_parser_base.h"
  9. namespace media {
  10. class MEDIA_EXPORT ADTSStreamParser : public MPEGAudioStreamParserBase {
  11. public:
  12. ADTSStreamParser();
  13. ADTSStreamParser(const ADTSStreamParser&) = delete;
  14. ADTSStreamParser& operator=(const ADTSStreamParser&) = delete;
  15. ~ADTSStreamParser() override;
  16. // MPEGAudioStreamParserBase overrides.
  17. int ParseFrameHeader(const uint8_t* data,
  18. int size,
  19. int* frame_size,
  20. int* sample_rate,
  21. ChannelLayout* channel_layout,
  22. int* sample_count,
  23. bool* metadata_frame,
  24. std::vector<uint8_t>* extra_data) override;
  25. private:
  26. size_t adts_parse_error_limit_ = 0;
  27. };
  28. } // namespace media
  29. #endif // MEDIA_FORMATS_MPEG_ADTS_STREAM_PARSER_H_