GPMF_utils.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: MIT
2 // SPDX-FileCopyrightText: Copyright 2017 GoPro Inc (http://gopro.com/).
3 
26 #ifndef _GPMF_UTILS_H
27 #define _GPMF_UTILS_H
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 #define GPMF_SAMPLE_RATE_FAST 0
34 #define GPMF_SAMPLE_RATE_PRECISE 1
35 
36 typedef struct mp4callbacks
37 {
38  size_t mp4handle;
39  uint32_t (*cbGetNumberPayloads)(size_t mp4handle); // number of indexed GPMF payloads
40  uint32_t (*cbGetPayloadSize)(size_t mp4handle, uint32_t index); // get payload size for a particular index
41  uint32_t *(*cbGetPayload)(size_t mp4handle, size_t res, uint32_t index); // get payload data for a particular index
42  size_t (*cbGetPayloadResource)(size_t mp4handle, size_t reshandle, uint32_t initialMemorySize); // get payload memory handler
43  void (*cbFreePayloadResource)(size_t mp4handle, size_t reshandle); // free payload memory handler
44  uint32_t (*cbGetPayloadTime)(size_t mp4handle, uint32_t index, double* in, double* out); //MP4 timestamps for the payload
45  uint32_t (*cbGetEditListOffsetRationalTime)(size_t mp4handle, // get any time offset for GPMF track
46  int32_t *offset_numerator, uint32_t* denominator);
47 } mp4callbacks;
48 
49 double GetGPMFSampleRate(mp4callbacks cbobject, uint32_t fourcc, uint32_t timeBaseFourCC, uint32_t flags, double* in, double* out);
50 
51 #ifdef __cplusplus
52 }
53 #endif
54 
55 #endif
mp4callbacks::cbFreePayloadResource
void(* cbFreePayloadResource)(size_t mp4handle, size_t reshandle)
Definition: GPMF_utils.h:43
GetGPMFSampleRate
double GetGPMFSampleRate(mp4callbacks cbobject, uint32_t fourcc, uint32_t timeBaseFourCC, uint32_t flags, double *in, double *out)
mp4callbacks::cbGetPayloadTime
uint32_t(* cbGetPayloadTime)(size_t mp4handle, uint32_t index, double *in, double *out)
Definition: GPMF_utils.h:44
mp4callbacks
struct mp4callbacks mp4callbacks
mp4callbacks::cbGetPayloadResource
size_t(* cbGetPayloadResource)(size_t mp4handle, size_t reshandle, uint32_t initialMemorySize)
Definition: GPMF_utils.h:42
mp4callbacks::cbGetNumberPayloads
uint32_t(* cbGetNumberPayloads)(size_t mp4handle)
Definition: GPMF_utils.h:39
mp4callbacks::cbGetPayloadSize
uint32_t(* cbGetPayloadSize)(size_t mp4handle, uint32_t index)
Definition: GPMF_utils.h:40
mp4callbacks
Definition: GPMF_utils.h:36
mp4callbacks::mp4handle
size_t mp4handle
Definition: GPMF_utils.h:38
mp4callbacks::cbGetEditListOffsetRationalTime
uint32_t(* cbGetEditListOffsetRationalTime)(size_t mp4handle, int32_t *offset_numerator, uint32_t *denominator)
Definition: GPMF_utils.h:45


gpmf_metadata_extractor
Author(s): Martin Pecka , Liam Samuel Pach
autogenerated on Wed May 28 2025 02:07:33