ChapterForge
Loading...
Searching...
No Matches
mp4a_builder.hpp
Go to the documentation of this file.
1//
2// mp4a_builder.hpp
3// ChapterForge
4//
5// Created by Till Toenshoff on 12/9/25.
6// Copyright © 2025 Till Toenshoff. All rights reserved.
7//
8
9#pragma once
10#include <memory>
11#include <string>
12#include <vector>
13
14#include "mp4_atoms.hpp"
15
16// Audio specific config for ESDS.
17struct Mp4aConfig {
18 uint16_t channel_count = 2;
19 uint16_t sample_size = 16;
20 uint32_t sample_rate = 44100;
21
22 uint8_t audio_object_type = 2; // AAC LC = 2
23 uint8_t sampling_index = 4; // 44100Hz = index 4 in MPEG table
24 uint8_t channel_config = 2; // 2 = stereo
25};
26
27std::unique_ptr<Atom> build_mp4a(const Mp4aConfig &cfg);
uint32_t sample_rate
Definition mp4a_builder.hpp:20
uint8_t channel_config
Definition mp4a_builder.hpp:24
uint8_t audio_object_type
Definition mp4a_builder.hpp:22
uint8_t sampling_index
Definition mp4a_builder.hpp:23
uint16_t channel_count
Definition mp4a_builder.hpp:18
uint16_t sample_size
Definition mp4a_builder.hpp:19
std::unique_ptr< Atom > build_mp4a(const Mp4aConfig &cfg)
Definition mp4a_builder.hpp:17