Shaka Packager SDK
hevc_decoder_configuration_record.h
1 // Copyright 2015 Google LLC. All rights reserved.
2 //
3 // Use of this source code is governed by a BSD-style
4 // license that can be found in the LICENSE file or at
5 // https://developers.google.com/open-source/licenses/bsd
6 
7 #ifndef PACKAGER_MEDIA_CODECS_HEVC_DECODER_CONFIGURATION_RECORD_H_
8 #define PACKAGER_MEDIA_CODECS_HEVC_DECODER_CONFIGURATION_RECORD_H_
9 
10 #include <cstdint>
11 #include <string>
12 #include <vector>
13 
14 #include <packager/macros/classes.h>
15 #include <packager/media/base/fourccs.h>
16 #include <packager/media/base/video_stream_info.h>
17 #include <packager/media/codecs/decoder_configuration_record.h>
18 
19 namespace shaka {
20 namespace media {
21 
24  public:
27 
29  std::string GetCodecString(FourCC codec_fourcc) const;
30 
31  private:
32  bool ParseInternal() override;
33 
34  uint8_t version_ = 0;
35  uint8_t general_profile_space_ = 0;
36  bool general_tier_flag_ = false;
37  uint8_t general_profile_idc_ = 0;
38  uint32_t general_profile_compatibility_flags_ = 0;
39  std::vector<uint8_t> general_constraint_indicator_flags_;
40  uint8_t general_level_idc_ = 0;
41 
42  DISALLOW_COPY_AND_ASSIGN(HEVCDecoderConfigurationRecord);
43 };
44 
45 } // namespace media
46 } // namespace shaka
47 
48 #endif // PACKAGER_MEDIA_CODECS_HEVC_DECODER_CONFIGURATION_RECORD_H_
Class for parsing HEVC decoder configuration record.
All the methods that are virtual are virtual for mocking.
Definition: crypto_flags.cc:66