ChapterForge
Loading...
Searching...
No Matches
mdat_writer.hpp File Reference
#include <cstdint>
#include <fstream>
#include <vector>
#include "mp4_atoms.hpp"
Include dependency graph for mdat_writer.hpp:

Go to the source code of this file.

Classes

struct  MdatOffsets
 

Functions

MdatOffsets write_mdat (std::ofstream &out, const std::vector< std::vector< uint8_t > > &audio_samples, const std::vector< std::vector< std::vector< uint8_t > > > &text_tracks_samples, const std::vector< std::vector< uint8_t > > &image_samples, const std::vector< uint32_t > &audio_chunk_sizes, const std::vector< std::vector< uint32_t > > &text_chunk_sizes, const std::vector< uint32_t > &image_chunk_sizes)
 
void patch_stco_table (Atom *stco, const std::vector< uint32_t > &offsets, uint64_t mdat_payload_start)
 
void patch_all_stco (Atom *moov, const MdatOffsets &offs, bool patch_audio=true)
 
MdatOffsets compute_mdat_offsets (uint64_t payload_start, const std::vector< std::vector< uint8_t > > &audio_samples, const std::vector< std::vector< std::vector< uint8_t > > > &text_tracks_samples, const std::vector< std::vector< uint8_t > > &image_samples, const std::vector< uint32_t > &audio_chunk_sizes, const std::vector< std::vector< uint32_t > > &text_chunk_sizes, const std::vector< uint32_t > &image_chunk_sizes)
 

Class Documentation

◆ MdatOffsets

struct MdatOffsets
Class Members
vector< uint32_t > audio_offsets
vector< uint32_t > image_offsets
uint64_t payload_start = 0
vector< vector< uint32_t > > text_offsets

Function Documentation

◆ compute_mdat_offsets()

MdatOffsets compute_mdat_offsets ( uint64_t  payload_start,
const std::vector< std::vector< uint8_t > > &  audio_samples,
const std::vector< std::vector< std::vector< uint8_t > > > &  text_tracks_samples,
const std::vector< std::vector< uint8_t > > &  image_samples,
const std::vector< uint32_t > &  audio_chunk_sizes,
const std::vector< std::vector< uint32_t > > &  text_chunk_sizes,
const std::vector< uint32_t > &  image_chunk_sizes 
)

◆ patch_all_stco()

void patch_all_stco ( Atom moov,
const MdatOffsets offs,
bool  patch_audio = true 
)

◆ patch_stco_table()

void patch_stco_table ( Atom stco,
const std::vector< uint32_t > &  offsets,
uint64_t  mdat_payload_start 
)

◆ write_mdat()

MdatOffsets write_mdat ( std::ofstream &  out,
const std::vector< std::vector< uint8_t > > &  audio_samples,
const std::vector< std::vector< std::vector< uint8_t > > > &  text_tracks_samples,
const std::vector< std::vector< uint8_t > > &  image_samples,
const std::vector< uint32_t > &  audio_chunk_sizes,
const std::vector< std::vector< uint32_t > > &  text_chunk_sizes,
const std::vector< uint32_t > &  image_chunk_sizes 
)