Shaka Packager SDK
ac4_audio_util.h
1 // Copyright 2020 Google Inc. 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 // AC4 audio utility functions.
8 
9 #ifndef PACKAGER_MEDIA_CODECS_AC4_AUDIO_UTIL_H_
10 #define PACKAGER_MEDIA_CODECS_AC4_AUDIO_UTIL_H_
11 
12 #include <stddef.h>
13 #include <stdint.h>
14 #include <vector>
15 
16 namespace shaka {
17 namespace media {
18 
23 bool CalculateAC4ChannelMask(const std::vector<uint8_t>& ac4_data,
24  uint32_t* ac4_channel_mask);
25 
31 bool CalculateAC4ChannelMPEGValue(const std::vector<uint8_t>& ac4_data,
32  uint32_t* ac4_channel_mpeg_value);
33 
39 bool GetAc4CodecInfo(const std::vector<uint8_t>& ac4_data,
40  uint8_t* ac4_codec_info);
41 
45 bool GetAc4ImmersiveInfo(const std::vector<uint8_t>& ac4_data,
46  bool* ac4_ims_flag,
47  bool* ac4_cbi_flag);
48 
49 } // namespace media
50 } // namespace shaka
51 
52 #endif // PACKAGER_MEDIA_CODECS_AC4_AUDIO_UTIL_H_
All the methods that are virtual are virtual for mocking.