mirror of
https://github.com/qrtc/ffmpeg-dev-go.git
synced 2025-09-26 20:01:22 +08:00
1089 lines
38 KiB
Go
1089 lines
38 KiB
Go
// Copyright (c) 2023 QRTC. All rights reserved.
|
|
// Use of this source code is governed by a MIT
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package ffmpeg
|
|
|
|
/*
|
|
#include <libavutil/iamf.h>
|
|
*/
|
|
import "C"
|
|
import "unsafe"
|
|
|
|
// AVIAMFAnimationType
|
|
type AVIAMFAnimationType = C.enum_AVIAMFAnimationType
|
|
|
|
const (
|
|
AV_IAMF_ANIMATION_TYPE_STEP = AVIAMFAnimationType(C.AV_IAMF_ANIMATION_TYPE_STEP)
|
|
AV_IAMF_ANIMATION_TYPE_LINEAR = AVIAMFAnimationType(C.AV_IAMF_ANIMATION_TYPE_LINEAR)
|
|
AV_IAMF_ANIMATION_TYPE_BEZIER = AVIAMFAnimationType(C.AV_IAMF_ANIMATION_TYPE_BEZIER)
|
|
)
|
|
|
|
// AVIAMFMixGain
|
|
type AVIAMFMixGain C.struct_AVIAMFMixGain
|
|
|
|
// GetAvClass gets `AVIAMFMixGain.*av_class` value.
|
|
func (mxga *AVIAMFMixGain) GetAvClass() *AVClass {
|
|
return (*AVClass)(mxga.av_class)
|
|
}
|
|
|
|
// SetAvClass sets `AVIAMFMixGain.*av_class` value.
|
|
func (mxga *AVIAMFMixGain) SetAvClass(v *AVClass) {
|
|
mxga.av_class = (*C.struct_AVClass)(v)
|
|
}
|
|
|
|
// GetAvClassAddr gets `AVIAMFMixGain.*av_class` address.
|
|
func (mxga *AVIAMFMixGain) GetAvClassAddr() **AVClass {
|
|
return (**AVClass)(unsafe.Pointer(&mxga.av_class))
|
|
}
|
|
|
|
// GetSubblockDuration gets `AVIAMFMixGain.subblock_duration` value.
|
|
func (mxga *AVIAMFMixGain) GetSubblockDuration() uint32 {
|
|
return (uint32)(mxga.subblock_duration)
|
|
}
|
|
|
|
// SetSubblockDuration sets `AVIAMFMixGain.subblock_duration` value.
|
|
func (mxga *AVIAMFMixGain) SetSubblockDuration(v uint32) {
|
|
mxga.subblock_duration = (C.uint)(v)
|
|
}
|
|
|
|
// GetSubblockDurationAddr gets `AVIAMFMixGain.subblock_duration` address.
|
|
func (mxga *AVIAMFMixGain) GetSubblockDurationAddr() *uint32 {
|
|
return (*uint32)(&mxga.subblock_duration)
|
|
}
|
|
|
|
// GetAnimationType gets `AVIAMFMixGain.animation_type` value.
|
|
func (mxga *AVIAMFMixGain) GetAnimationType() AVIAMFAnimationType {
|
|
return (AVIAMFAnimationType)(mxga.animation_type)
|
|
}
|
|
|
|
// SetAnimationType sets `AVIAMFMixGain.animation_type` value.
|
|
func (mxga *AVIAMFMixGain) SetAnimationType(v AVIAMFAnimationType) {
|
|
mxga.animation_type = (C.enum_AVIAMFAnimationType)(v)
|
|
}
|
|
|
|
// GetAnimationTypeAddr gets `AVIAMFMixGain.animation_type` address.
|
|
func (mxga *AVIAMFMixGain) GetAnimationTypeAddr() *AVIAMFAnimationType {
|
|
return (*AVIAMFAnimationType)(&mxga.animation_type)
|
|
}
|
|
|
|
// GetStartPointValue gets `AVIAMFMixGain.start_point_value` value.
|
|
func (mxga *AVIAMFMixGain) GetStartPointValue() AVRational {
|
|
return (AVRational)(mxga.start_point_value)
|
|
}
|
|
|
|
// SetStartPointValue sets `AVIAMFMixGain.start_point_value` value.
|
|
func (mxga *AVIAMFMixGain) SetStartPointValue(v AVRational) {
|
|
mxga.start_point_value = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetStartPointValueAddr gets `AVIAMFMixGain.start_point_value` address.
|
|
func (mxga *AVIAMFMixGain) GetStartPointValueAddr() *AVRational {
|
|
return (*AVRational)(&mxga.start_point_value)
|
|
}
|
|
|
|
// GetEndPointValue gets `AVIAMFMixGain.end_point_value` value.
|
|
func (mxga *AVIAMFMixGain) GetEndPointValue() AVRational {
|
|
return (AVRational)(mxga.end_point_value)
|
|
}
|
|
|
|
// SetEndPointValue sets `AVIAMFMixGain.end_point_value` value.
|
|
func (mxga *AVIAMFMixGain) SetEndPointValue(v AVRational) {
|
|
mxga.end_point_value = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetEndPointValueAddr gets `AVIAMFMixGain.end_point_value` address.
|
|
func (mxga *AVIAMFMixGain) GetEndPointValueAddr() *AVRational {
|
|
return (*AVRational)(&mxga.end_point_value)
|
|
}
|
|
|
|
// GetControlPointValue gets `AVIAMFMixGain.control_point_value` value.
|
|
func (mxga *AVIAMFMixGain) GetControlPointValue() AVRational {
|
|
return (AVRational)(mxga.control_point_value)
|
|
}
|
|
|
|
// SetControlPointValue sets `AVIAMFMixGain.control_point_value` value.
|
|
func (mxga *AVIAMFMixGain) SetControlPointValue(v AVRational) {
|
|
mxga.control_point_value = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetControlPointValueAddr gets `AVIAMFMixGain.control_point_value` address.
|
|
func (mxga *AVIAMFMixGain) GetControlPointValueAddr() *AVRational {
|
|
return (*AVRational)(&mxga.control_point_value)
|
|
}
|
|
|
|
// GetControlPointRelativeTime gets `AVIAMFMixGain.control_point_relative_time` value.
|
|
func (mxga *AVIAMFMixGain) GetControlPointRelativeTime() AVRational {
|
|
return (AVRational)(mxga.control_point_relative_time)
|
|
}
|
|
|
|
// SetControlPointRelativeTime sets `AVIAMFMixGain.control_point_relative_time` value.
|
|
func (mxga *AVIAMFMixGain) SetControlPointRelativeTime(v AVRational) {
|
|
mxga.control_point_relative_time = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetControlPointRelativeTimeAddr gets `AVIAMFMixGain.control_point_relative_time` address.
|
|
func (mxga *AVIAMFMixGain) GetControlPointRelativeTimeAddr() *AVRational {
|
|
return (*AVRational)(&mxga.control_point_relative_time)
|
|
}
|
|
|
|
// AVIAMFDemixingInfo
|
|
type AVIAMFDemixingInfo C.struct_AVIAMFDemixingInfo
|
|
|
|
// GetAvClass gets `AVIAMFDemixingInfo.av_class` value.
|
|
func (dmif *AVIAMFDemixingInfo) GetAvClass() *AVClass {
|
|
return (*AVClass)(dmif.av_class)
|
|
}
|
|
|
|
// SetAvClass sets `AVIAMFDemixingInfo.av_class` value.
|
|
func (dmif *AVIAMFDemixingInfo) SetAvClass(v *AVClass) {
|
|
dmif.av_class = (*C.struct_AVClass)(v)
|
|
}
|
|
|
|
// GetAvClassAddr gets `AVIAMFDemixingInfo.av_class` address.
|
|
func (dmif *AVIAMFDemixingInfo) GetAvClassAddr() **AVClass {
|
|
return (**AVClass)(unsafe.Pointer(&dmif.av_class))
|
|
}
|
|
|
|
// GetSubblockDuration gets `AVIAMFDemixingInfo.subblock_duration` value.
|
|
func (dmif *AVIAMFDemixingInfo) SubblockDurationGet() uint32 {
|
|
return (uint32)(dmif.subblock_duration)
|
|
}
|
|
|
|
// SetSubblockDuration sets `AVIAMFDemixingInfo.subblock_duration` value.
|
|
func (dmif *AVIAMFDemixingInfo) SetSubblockDuration(v uint32) {
|
|
dmif.subblock_duration = (C.uint)(v)
|
|
}
|
|
|
|
// GetSubblockDurationAddr gets `AVIAMFDemixingInfo.subblock_duration` address.
|
|
func (dmif *AVIAMFDemixingInfo) GetSubblockDurationAddr() *uint32 {
|
|
return (*uint32)(&dmif.subblock_duration)
|
|
}
|
|
|
|
// GetDmixpMode gets `AVIAMFDemixingInfo.dmixp_mode` value.
|
|
func (dmif *AVIAMFDemixingInfo) DmixpModeGet() uint32 {
|
|
return (uint32)(dmif.dmixp_mode)
|
|
}
|
|
|
|
// SetDmixpMode sets `AVIAMFDemixingInfo.dmixp_mode` value.
|
|
func (dmif *AVIAMFDemixingInfo) SetDmixpMode(v uint32) {
|
|
dmif.dmixp_mode = (C.uint)(v)
|
|
}
|
|
|
|
// GetDmixpModeAddr gets `AVIAMFDemixingInfo.dmixp_mode` address.
|
|
func (dmif *AVIAMFDemixingInfo) GetDmixpModeAddr() *uint32 {
|
|
return (*uint32)(&dmif.dmixp_mode)
|
|
}
|
|
|
|
// AVIAMFReconGain
|
|
type AVIAMFReconGain C.struct_AVIAMFReconGain
|
|
|
|
// GetAvClass gets `AVIAMFReconGain.av_class` value.
|
|
func (rcgn *AVIAMFReconGain) GetAvClass() *AVClass {
|
|
return (*AVClass)(rcgn.av_class)
|
|
}
|
|
|
|
// SetAvClass sets `AVIAMFReconGain.av_class` value.
|
|
func (rcgn *AVIAMFReconGain) SetAvClass(v *AVClass) {
|
|
rcgn.av_class = (*C.struct_AVClass)(v)
|
|
}
|
|
|
|
// GetAvClassAddr gets `AVIAMFReconGain.av_class` address.
|
|
func (rcgn *AVIAMFReconGain) GetAvClassAddr() **AVClass {
|
|
return (**AVClass)(unsafe.Pointer(&rcgn.av_class))
|
|
}
|
|
|
|
// GetSubblockDuration gets `AVIAMFReconGain.subblock_duration` value.
|
|
func (rcgn *AVIAMFReconGain) GetSubblockDuration() uint32 {
|
|
return (uint32)(rcgn.subblock_duration)
|
|
}
|
|
|
|
// SetSubblockDuration sets `AVIAMFReconGain.subblock_duration` value.
|
|
func (rcgn *AVIAMFReconGain) SetSubblockDuration(v uint32) {
|
|
rcgn.subblock_duration = (C.uint)(v)
|
|
}
|
|
|
|
// GetSubblockDurationAddr gets `AVIAMFReconGain.subblock_duration` address.
|
|
func (rcgn *AVIAMFReconGain) GetSubblockDurationAddr() *uint32 {
|
|
return (*uint32)(&rcgn.subblock_duration)
|
|
}
|
|
|
|
// GetReconGain gets `AVIAMFReconGain.recon_gain` value.
|
|
func (rcgn *AVIAMFReconGain) GetReconGain() (v [][]uint8) {
|
|
for i := 0; i < 6; i++ {
|
|
v = append(v, unsafe.Slice((*uint8)(&rcgn.recon_gain[i][0]), 12))
|
|
}
|
|
return v
|
|
}
|
|
|
|
// SetReconGain sets `AVIAMFReconGain.recon_gain` value.
|
|
func (rcgn *AVIAMFReconGain) SetReconGain(v [][]uint8) {
|
|
for i := 0; i < FFMIN(len(v), 6); i++ {
|
|
for j := 0; j < FFMIN(len(v[i]), 12); j++ {
|
|
rcgn.recon_gain[i][j] = (C.uint8_t)(v[i][j])
|
|
}
|
|
}
|
|
}
|
|
|
|
// GetReconGainAddr gets `AVIAMFReconGain.recon_gain` address.
|
|
func (rcgn *AVIAMFReconGain) GetReconGainAddr() **uint8 {
|
|
return (**uint8)(unsafe.Pointer(&rcgn.recon_gain))
|
|
}
|
|
|
|
// AVIAMFParamDefinitionType
|
|
type AVIAMFParamDefinitionType = C.enum_AVIAMFParamDefinitionType
|
|
|
|
const (
|
|
AV_IAMF_PARAMETER_DEFINITION_MIX_GAIN = AVIAMFParamDefinitionType(C.AV_IAMF_PARAMETER_DEFINITION_MIX_GAIN)
|
|
AV_IAMF_PARAMETER_DEFINITION_DEMIXING = AVIAMFParamDefinitionType(C.AV_IAMF_PARAMETER_DEFINITION_DEMIXING)
|
|
AV_IAMF_PARAMETER_DEFINITION_RECON_GAIN = AVIAMFParamDefinitionType(C.AV_IAMF_PARAMETER_DEFINITION_RECON_GAIN)
|
|
)
|
|
|
|
// AVIAMFParamDefinition
|
|
type AVIAMFParamDefinition C.struct_AVIAMFParamDefinition
|
|
|
|
// GetAvClass gets `AVIAMFParamDefinition.av_class` value.
|
|
func (pdef *AVIAMFParamDefinition) GetAvClass() *AVClass {
|
|
return (*AVClass)(pdef.av_class)
|
|
}
|
|
|
|
// SetAvClass sets `AVIAMFParamDefinition.av_class` value.
|
|
func (pdef *AVIAMFParamDefinition) SetAvClass(v *AVClass) {
|
|
pdef.av_class = (*C.struct_AVClass)(v)
|
|
}
|
|
|
|
// GetAvClassAddr gets `AVIAMFParamDefinition.av_class` address.
|
|
func (pdef *AVIAMFParamDefinition) GetAvClassAddr() **AVClass {
|
|
return (**AVClass)(unsafe.Pointer(&pdef.av_class))
|
|
}
|
|
|
|
// GetSubblocksOffset gets `AVIAMFParamDefinition.subblocks_offset` value.
|
|
func (pdef *AVIAMFParamDefinition) SubblocksOffsetGet() uintptr {
|
|
return (uintptr)(pdef.subblocks_offset)
|
|
}
|
|
|
|
// SetSubblocksOffset sets `AVIAMFParamDefinition.subblocks_offset` value.
|
|
func (pdef *AVIAMFParamDefinition) SetSubblocksOffset(v uintptr) {
|
|
pdef.subblocks_offset = (C.size_t)(v)
|
|
}
|
|
|
|
// GetSubblocksOffsetAddr gets `AVIAMFParamDefinition.subblocks_offset` address.
|
|
func (pdef *AVIAMFParamDefinition) GetSubblocksOffsetAddr() *uintptr {
|
|
return (*uintptr)(unsafe.Pointer(&pdef.subblocks_offset))
|
|
}
|
|
|
|
// GetSubblockSize gets `AVIAMFParamDefinition.subblock_size` value.
|
|
func (pdef *AVIAMFParamDefinition) SubblockSizeGet() uintptr {
|
|
return (uintptr)(pdef.subblock_size)
|
|
}
|
|
|
|
// SetSubblockSize sets `AVIAMFParamDefinition.subblock_size` value.
|
|
func (pdef *AVIAMFParamDefinition) SetSubblockSize(v uintptr) {
|
|
pdef.subblock_size = (C.size_t)(v)
|
|
}
|
|
|
|
// GetSubblockSizeAddr gets `AVIAMFParamDefinition.subblock_size` address.
|
|
func (pdef *AVIAMFParamDefinition) GetSubblockSizeAddr() *uintptr {
|
|
return (*uintptr)(unsafe.Pointer(&pdef.subblock_size))
|
|
}
|
|
|
|
// GetNbSubblocks gets `AVIAMFParamDefinition.nb_subblocks` value.
|
|
func (pdef *AVIAMFParamDefinition) NbSubblocksGet() uint32 {
|
|
return (uint32)(pdef.nb_subblocks)
|
|
}
|
|
|
|
// SetNbSubblocks sets `AVIAMFParamDefinition.nb_subblocks` value.
|
|
func (pdef *AVIAMFParamDefinition) SetNbSubblocks(v uint32) {
|
|
pdef.nb_subblocks = (C.uint)(v)
|
|
}
|
|
|
|
// GetNbSubblocksAddr gets `AVIAMFParamDefinition.nb_subblocks` address.
|
|
func (pdef *AVIAMFParamDefinition) GetNbSubblocksAddr() *uint32 {
|
|
return (*uint32)(&pdef.nb_subblocks)
|
|
}
|
|
|
|
// GetType gets `AVIAMFParamDefinition.type` value.
|
|
func (pdef *AVIAMFParamDefinition) TypeGet() AVIAMFParamDefinitionType {
|
|
return (AVIAMFParamDefinitionType)(pdef._type)
|
|
}
|
|
|
|
// SetType sets `AVIAMFParamDefinition.type` value.
|
|
func (pdef *AVIAMFParamDefinition) SetType(v AVIAMFParamDefinitionType) {
|
|
pdef._type = (C.enum_AVIAMFParamDefinitionType)(v)
|
|
}
|
|
|
|
// GetTypeAddr gets `AVIAMFParamDefinition.type` address.
|
|
func (pdef *AVIAMFParamDefinition) GetTypeAddr() *AVIAMFParamDefinitionType {
|
|
return (*AVIAMFParamDefinitionType)(&pdef._type)
|
|
}
|
|
|
|
// GetParameterId gets `AVIAMFParamDefinition.parameter_id` value.
|
|
func (pdef *AVIAMFParamDefinition) ParameterIdGet() uint32 {
|
|
return (uint32)(pdef.parameter_id)
|
|
}
|
|
|
|
// SetParameterId sets `AVIAMFParamDefinition.parameter_id` value.
|
|
func (pdef *AVIAMFParamDefinition) SetParameterId(v uint32) {
|
|
pdef.parameter_id = (C.uint)(v)
|
|
}
|
|
|
|
// GetParameterIdAddr gets `AVIAMFParamDefinition.parameter_id` address.
|
|
func (pdef *AVIAMFParamDefinition) GetParameterIdAddr() *uint32 {
|
|
return (*uint32)(&pdef.parameter_id)
|
|
}
|
|
|
|
// GetParameterRate gets `AVIAMFParamDefinition.parameter_rate` value.
|
|
func (pdef *AVIAMFParamDefinition) ParameterRateGet() uint32 {
|
|
return (uint32)(pdef.parameter_rate)
|
|
}
|
|
|
|
// SetParameterRate sets `AVIAMFParamDefinition.parameter_rate` value.
|
|
func (pdef *AVIAMFParamDefinition) SetParameterRate(v uint32) {
|
|
pdef.parameter_rate = (C.uint)(v)
|
|
}
|
|
|
|
// GetParameterRateAddr gets `AVIAMFParamDefinition.parameter_rate` address.
|
|
func (pdef *AVIAMFParamDefinition) GetParameterRateAddr() *uint32 {
|
|
return (*uint32)(&pdef.parameter_rate)
|
|
}
|
|
|
|
// GetDuration gets `AVIAMFParamDefinition.duration` value.
|
|
func (pdef *AVIAMFParamDefinition) DurationGet() uint32 {
|
|
return (uint32)(pdef.duration)
|
|
}
|
|
|
|
// SetDuration sets `AVIAMFParamDefinition.duration` value.
|
|
func (pdef *AVIAMFParamDefinition) SetDuration(v uint32) {
|
|
pdef.duration = (C.uint)(v)
|
|
}
|
|
|
|
// GetDurationAddr gets `AVIAMFParamDefinition.duration` address.
|
|
func (pdef *AVIAMFParamDefinition) GetDurationAddr() *uint32 {
|
|
return (*uint32)(&pdef.duration)
|
|
}
|
|
|
|
// GetConstantSubblockDuration gets `AVIAMFParamDefinition.constant_subblock_duration` value.
|
|
func (pdef *AVIAMFParamDefinition) ConstantSubblockDurationGet() uint32 {
|
|
return (uint32)(pdef.constant_subblock_duration)
|
|
}
|
|
|
|
// SetConstantSubblockDuration sets `AVIAMFParamDefinition.constant_subblock_duration` value.
|
|
func (pdef *AVIAMFParamDefinition) SetConstantSubblockDuration(v uint32) {
|
|
pdef.constant_subblock_duration = (C.uint)(v)
|
|
}
|
|
|
|
// GetConstantSubblockDurationAddr gets `AVIAMFParamDefinition.constant_subblock_duration` address.
|
|
func (pdef *AVIAMFParamDefinition) GetConstantSubblockDurationAddr() *uint32 {
|
|
return (*uint32)(&pdef.constant_subblock_duration)
|
|
}
|
|
|
|
// AvIamfParamDefinitionGetClass
|
|
func AvIamfParamDefinitionGetClass() *AVClass {
|
|
return (*AVClass)(C.av_iamf_param_definition_get_class())
|
|
}
|
|
|
|
// AvIamfParamDefinitionAlloc allocates memory for AVIAMFParamDefinition.
|
|
func AvIamfParamDefinitionAlloc(_type AVIAMFParamDefinitionType,
|
|
nbSubblocks uint32, size *uintptr) *AVIAMFParamDefinition {
|
|
return (*AVIAMFParamDefinition)(C.av_iamf_param_definition_alloc(
|
|
(C.enum_AVIAMFParamDefinitionType)(_type),
|
|
(C.uint)(nbSubblocks),
|
|
(*C.size_t)(unsafe.Pointer(size))))
|
|
}
|
|
|
|
// AvIamfParamDefinitionGetSubblock gets the subblock at the specified idx.
|
|
func AvIamfParamDefinitionGetSubblock(par *AVIAMFParamDefinition, idx uint32) unsafe.Pointer {
|
|
return VoidPointer(C.av_iamf_param_definition_get_subblock(
|
|
(*C.struct_AVIAMFParamDefinition)(par),
|
|
(C.uint)(idx)))
|
|
}
|
|
|
|
// AVIAMFAmbisonicsMode
|
|
type AVIAMFAmbisonicsMode = C.enum_AVIAMFAmbisonicsMode
|
|
|
|
const (
|
|
AV_IAMF_AMBISONICS_MODE_MONO = AVIAMFAmbisonicsMode(C.AV_IAMF_AMBISONICS_MODE_MONO)
|
|
AV_IAMF_AMBISONICS_MODE_PROJECTION = AVIAMFAmbisonicsMode(C.AV_IAMF_AMBISONICS_MODE_PROJECTION)
|
|
)
|
|
|
|
const (
|
|
AV_IAMF_LAYER_FLAG_RECON_GAIN = C.AV_IAMF_LAYER_FLAG_RECON_GAIN
|
|
)
|
|
|
|
// AVIAMFLayer
|
|
type AVIAMFLayer C.struct_AVIAMFLayer
|
|
|
|
// GetAvClass gets `AVIAMFLayer.av_class` value.
|
|
func (layer *AVIAMFLayer) GetAvClass() *AVClass {
|
|
return (*AVClass)(layer.av_class)
|
|
}
|
|
|
|
// SetAvClass sets `AVIAMFLayer.av_class` value.
|
|
func (layer *AVIAMFLayer) SetAvClass(v *AVClass) {
|
|
layer.av_class = (*C.struct_AVClass)(v)
|
|
}
|
|
|
|
// GetAvClassAddr gets `AVIAMFLayer.av_class` address.
|
|
func (layer *AVIAMFLayer) GetAvClassAddr() **AVClass {
|
|
return (**AVClass)(unsafe.Pointer(&layer.av_class))
|
|
}
|
|
|
|
// GetChLayout gets `AVIAMFLayer.ch_layout` value.
|
|
func (layer *AVIAMFLayer) GetChLayout() AVChannelLayout {
|
|
return (AVChannelLayout)(layer.ch_layout)
|
|
}
|
|
|
|
// SetChLayout sets `AVIAMFLayer.ch_layout` value.
|
|
func (layer *AVIAMFLayer) SetChLayout(v AVChannelLayout) {
|
|
layer.ch_layout = (C.struct_AVChannelLayout)(v)
|
|
}
|
|
|
|
// GetChLayoutAddr gets `AVIAMFLayer.ch_layout` address.
|
|
func (layer *AVIAMFLayer) GetChLayoutAddr() *AVChannelLayout {
|
|
return (*AVChannelLayout)(&layer.ch_layout)
|
|
}
|
|
|
|
// GetFlags gets `AVIAMFLayer.flags` value.
|
|
func (layer *AVIAMFLayer) GetFlags() uint32 {
|
|
return (uint32)(layer.flags)
|
|
}
|
|
|
|
// SetFlags sets `AVIAMFLayer.flags` value.
|
|
func (layer *AVIAMFLayer) SetFlags(v uint32) {
|
|
layer.flags = (C.uint)(v)
|
|
}
|
|
|
|
// GetFlagsAddr gets `AVIAMFLayer.flags` address.
|
|
func (layer *AVIAMFLayer) GetFlagsAddr() *uint32 {
|
|
return (*uint32)(&layer.flags)
|
|
}
|
|
|
|
// GetOutputGainFlags gets `AVIAMFLayer.output_gain_flags` value.
|
|
func (layer *AVIAMFLayer) GetOutputGainFlags() uint32 {
|
|
return (uint32)(layer.output_gain_flags)
|
|
}
|
|
|
|
// SetOutputGainFlags sets `AVIAMFLayer.output_gain_flags` value.
|
|
func (layer *AVIAMFLayer) SetOutputGainFlags(v uint32) {
|
|
layer.output_gain_flags = (C.uint)(v)
|
|
}
|
|
|
|
// GetOutputGainFlagsAddr gets `AVIAMFLayer.output_gain_flags` address.
|
|
func (layer *AVIAMFLayer) GetOutputGainFlagsAddr() *uint32 {
|
|
return (*uint32)(&layer.output_gain_flags)
|
|
}
|
|
|
|
// GetOutputGain gets `AVIAMFLayer.output_gain` value.
|
|
func (layer *AVIAMFLayer) GetOutputGain() AVRational {
|
|
return (AVRational)(layer.output_gain)
|
|
}
|
|
|
|
// SetOutputGain sets `AVIAMFLayer.output_gain` value.
|
|
func (layer *AVIAMFLayer) SetOutputGain(v AVRational) {
|
|
layer.output_gain = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetOutputGainAddr gets `AVIAMFLayer.output_gain` address.
|
|
func (layer *AVIAMFLayer) GetOutputGainAddr() *AVRational {
|
|
return (*AVRational)(&layer.output_gain)
|
|
}
|
|
|
|
// GetAmbisonicsMode gets `AVIAMFLayer.ambisonics_mode` value.
|
|
func (layer *AVIAMFLayer) GetAmbisonicsMode() AVIAMFAmbisonicsMode {
|
|
return (AVIAMFAmbisonicsMode)(layer.ambisonics_mode)
|
|
}
|
|
|
|
// SetAmbisonicsMode sets `AVIAMFLayer.ambisonics_mode` value.
|
|
func (layer *AVIAMFLayer) SetAmbisonicsMode(v AVIAMFAmbisonicsMode) {
|
|
layer.ambisonics_mode = (C.enum_AVIAMFAmbisonicsMode)(v)
|
|
}
|
|
|
|
// GetAmbisonicsModeAddr gets `AVIAMFLayer.ambisonics_mode` address.
|
|
func (layer *AVIAMFLayer) GetAmbisonicsModeAddr() *AVIAMFAmbisonicsMode {
|
|
return (*AVIAMFAmbisonicsMode)(&layer.ambisonics_mode)
|
|
}
|
|
|
|
// GetDemixingMatrix gets `AVIAMFLayer.demixing_matrix` value.
|
|
func (layer *AVIAMFLayer) GetDemixingMatrix() *AVRational {
|
|
return (*AVRational)(layer.demixing_matrix)
|
|
}
|
|
|
|
// SetDemixingMatrix sets `AVIAMFLayer.demixing_matrix` value.
|
|
func (layer *AVIAMFLayer) SetDemixingMatrix(v *AVRational) {
|
|
layer.demixing_matrix = (*C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetDemixingMatrixAddr gets `AVIAMFLayer.demixing_matrix` address.
|
|
func (layer *AVIAMFLayer) GetDemixingMatrixAddr() **AVRational {
|
|
return (**AVRational)(unsafe.Pointer(&layer.demixing_matrix))
|
|
}
|
|
|
|
// AVIAMFAudioElementType
|
|
type AVIAMFAudioElementType = C.enum_AVIAMFAudioElementType
|
|
|
|
const (
|
|
AV_IAMF_AUDIO_ELEMENT_TYPE_CHANNEL = AVIAMFAudioElementType(C.AV_IAMF_AUDIO_ELEMENT_TYPE_CHANNEL)
|
|
AV_IAMF_AUDIO_ELEMENT_TYPE_SCENE = AVIAMFAudioElementType(C.AV_IAMF_AUDIO_ELEMENT_TYPE_SCENE)
|
|
)
|
|
|
|
// AVIAMFAudioElement
|
|
type AVIAMFAudioElement C.struct_AVIAMFAudioElement
|
|
|
|
// GetAvClass gets `AVIAMFAudioElement.av_class` value.
|
|
func (aelm *AVIAMFAudioElement) GetAvClass() *AVClass {
|
|
return (*AVClass)(aelm.av_class)
|
|
}
|
|
|
|
// SetAvClass sets `AVIAMFAudioElement.av_class` value.
|
|
func (aelm *AVIAMFAudioElement) SetAvClass(v *AVClass) {
|
|
aelm.av_class = (*C.struct_AVClass)(v)
|
|
}
|
|
|
|
// GetAvClassAddr gets `AVIAMFAudioElement.av_class` address.
|
|
func (aelm *AVIAMFAudioElement) GetAvClassAddr() **AVClass {
|
|
return (**AVClass)(unsafe.Pointer(&aelm.av_class))
|
|
}
|
|
|
|
// GetLayers gets `AVIAMFAudioElement.layers` value.
|
|
func (aelm *AVIAMFAudioElement) GetLayers() []*AVIAMFLayer {
|
|
return unsafe.Slice((**AVIAMFLayer)(unsafe.Pointer(aelm.layers)), aelm.nb_layers)
|
|
}
|
|
|
|
// SetLayers sets `AVIAMFAudioElement.layers` value.
|
|
func (aelm *AVIAMFAudioElement) SetLayers(v **AVIAMFLayer) {
|
|
aelm.layers = (**C.struct_AVIAMFLayer)(unsafe.Pointer(v))
|
|
}
|
|
|
|
// GetLayersAddr gets `AVIAMFAudioElement.layers` address.
|
|
func (aelm *AVIAMFAudioElement) GetLayersAddr() ***AVIAMFLayer {
|
|
return (***AVIAMFLayer)(unsafe.Pointer(&aelm.layers))
|
|
}
|
|
|
|
// GetNbLayers gets `AVIAMFAudioElement.nb_layers` value.
|
|
func (aelm *AVIAMFAudioElement) GetNbLayers() uint32 {
|
|
return (uint32)(aelm.nb_layers)
|
|
}
|
|
|
|
// SetNbLayers sets `AVIAMFAudioElement.nb_layers` value.
|
|
func (aelm *AVIAMFAudioElement) SetNbLayers(v uint32) {
|
|
aelm.nb_layers = (C.uint)(v)
|
|
}
|
|
|
|
// GetNbLayersAddr gets `AVIAMFAudioElement.nb_layers` address.
|
|
func (aelm *AVIAMFAudioElement) GetNbLayersAddr() *uint32 {
|
|
return (*uint32)(&aelm.nb_layers)
|
|
}
|
|
|
|
// GetDemixingInfo gets `AVIAMFAudioElement.demixing_info` value.
|
|
func (aelm *AVIAMFAudioElement) GetDemixingInfo() *AVIAMFParamDefinition {
|
|
return (*AVIAMFParamDefinition)(aelm.demixing_info)
|
|
}
|
|
|
|
// SetDemixingInfo sets `AVIAMFAudioElement.demixing_info` value.
|
|
func (aelm *AVIAMFAudioElement) SetDemixingInfo(v *AVIAMFParamDefinition) {
|
|
aelm.demixing_info = (*C.struct_AVIAMFParamDefinition)(v)
|
|
}
|
|
|
|
// GetDemixingInfoAddr gets `AVIAMFAudioElement.demixing_info` address.
|
|
func (aelm *AVIAMFAudioElement) GetDemixingInfoAddr() **AVIAMFParamDefinition {
|
|
return (**AVIAMFParamDefinition)(unsafe.Pointer(&aelm.demixing_info))
|
|
}
|
|
|
|
// GetReconGainInfo gets `AVIAMFAudioElement.recon_gain_info` value.
|
|
func (aelm *AVIAMFAudioElement) GetReconGainInfo() *AVIAMFParamDefinition {
|
|
return (*AVIAMFParamDefinition)(aelm.recon_gain_info)
|
|
}
|
|
|
|
// SetReconGainInfo sets `AVIAMFAudioElement.recon_gain_info` value.
|
|
func (aelm *AVIAMFAudioElement) SetReconGainInfo(v *AVIAMFParamDefinition) {
|
|
aelm.recon_gain_info = (*C.struct_AVIAMFParamDefinition)(v)
|
|
}
|
|
|
|
// GetReconGainInfoAddr gets `AVIAMFAudioElement.recon_gain_info` address.
|
|
func (aelm *AVIAMFAudioElement) GetReconGainInfoAddr() **AVIAMFParamDefinition {
|
|
return (**AVIAMFParamDefinition)(unsafe.Pointer(&aelm.recon_gain_info))
|
|
}
|
|
|
|
// GetAudioElementType gets `AVIAMFAudioElement.audio_element_type` value.
|
|
func (aelm *AVIAMFAudioElement) GetAudioElementType() AVIAMFAudioElementType {
|
|
return (AVIAMFAudioElementType)(aelm.audio_element_type)
|
|
}
|
|
|
|
// SetAudioElementType sets `AVIAMFAudioElement.audio_element_type` value.
|
|
func (aelm *AVIAMFAudioElement) SetAudioElementType(v AVIAMFAudioElementType) {
|
|
aelm.audio_element_type = (C.enum_AVIAMFAudioElementType)(v)
|
|
}
|
|
|
|
// GetAudioElementTypeAddr gets `AVIAMFAudioElement.audio_element_type` address.
|
|
func (aelm *AVIAMFAudioElement) GetAudioElementTypeAddr() *AVIAMFAudioElementType {
|
|
return (*AVIAMFAudioElementType)(&aelm.audio_element_type)
|
|
}
|
|
|
|
// GetDefaultW gets `AVIAMFAudioElement.default_w` value.
|
|
func (aelm *AVIAMFAudioElement) GetDefaultW() uint32 {
|
|
return (uint32)(aelm.default_w)
|
|
}
|
|
|
|
// SetDefaultW sets `AVIAMFAudioElement.default_w` value.
|
|
func (aelm *AVIAMFAudioElement) SetDefaultW(v uint32) {
|
|
aelm.default_w = (C.uint)(v)
|
|
}
|
|
|
|
// GetDefaultWAddr gets `AVIAMFAudioElement.default_w` address.
|
|
func (aelm *AVIAMFAudioElement) GetDefaultWAddr() *uint32 {
|
|
return (*uint32)(&aelm.default_w)
|
|
}
|
|
|
|
// AvIamfAudioElementGetClass
|
|
func AvIamfAudioElementGetClass() *AVClass {
|
|
return (*AVClass)(C.av_iamf_audio_element_get_class())
|
|
}
|
|
|
|
// AvIamfAudioElementAlloc
|
|
func AvIamfAudioElementAlloc() *AVIAMFAudioElement {
|
|
return (*AVIAMFAudioElement)(C.av_iamf_audio_element_alloc())
|
|
}
|
|
|
|
// AvIamfAudioElementAddLayer
|
|
func AvIamfAudioElementAddLayer(audioElement *AVIAMFAudioElement) *AVIAMFLayer {
|
|
return (*AVIAMFLayer)(C.av_iamf_audio_element_add_layer((*C.struct_AVIAMFAudioElement)(audioElement)))
|
|
}
|
|
|
|
// AvIamfAudioElementFree
|
|
func AvIamfAudioElementFree(audioElement **AVIAMFAudioElement) {
|
|
C.av_iamf_audio_element_free((**C.struct_AVIAMFAudioElement)(unsafe.Pointer(audioElement)))
|
|
}
|
|
|
|
// AVIAMFHeadphonesMode
|
|
type AVIAMFHeadphonesMode = C.enum_AVIAMFHeadphonesMode
|
|
|
|
const (
|
|
AV_IAMF_HEADPHONES_MODE_STEREO = AVIAMFHeadphonesMode(C.AV_IAMF_HEADPHONES_MODE_STEREO)
|
|
AV_IAMF_HEADPHONES_MODE_BINAURAL = AVIAMFHeadphonesMode(C.AV_IAMF_HEADPHONES_MODE_BINAURAL)
|
|
)
|
|
|
|
// AVIAMFSubmixElement
|
|
type AVIAMFSubmixElement C.struct_AVIAMFSubmixElement
|
|
|
|
// GetAvClass gets `AVIAMFSubmixElement.av_class` value.
|
|
func (smel *AVIAMFSubmixElement) GetAvClass() *AVClass {
|
|
return (*AVClass)(smel.av_class)
|
|
}
|
|
|
|
// SetAvClass sets `AVIAMFSubmixElement.av_class` value.
|
|
func (smel *AVIAMFSubmixElement) SetAvClass(v *AVClass) {
|
|
smel.av_class = (*C.struct_AVClass)(v)
|
|
}
|
|
|
|
// GetAvClassAddr gets `AVIAMFSubmixElement.av_class` address.
|
|
func (smel *AVIAMFSubmixElement) GetAvClassAddr() **AVClass {
|
|
return (**AVClass)(unsafe.Pointer(&smel.av_class))
|
|
}
|
|
|
|
// GetAudioElementId gets `AVIAMFSubmixElement.audio_element_id` value.
|
|
func (smel *AVIAMFSubmixElement) GetAudioElementId() uint32 {
|
|
return (uint32)(smel.audio_element_id)
|
|
}
|
|
|
|
// SetAudioElementId sets `AVIAMFSubmixElement.audio_element_id` value.
|
|
func (smel *AVIAMFSubmixElement) SetAudioElementId(v uint32) {
|
|
smel.audio_element_id = (C.uint)(v)
|
|
}
|
|
|
|
// GetAudioElementIdAddr gets `AVIAMFSubmixElement.audio_element_id` address.
|
|
func (smel *AVIAMFSubmixElement) GetAudioElementIdAddr() *uint32 {
|
|
return (*uint32)(&smel.audio_element_id)
|
|
}
|
|
|
|
// GetElementMixConfig gets `AVIAMFSubmixElement.element_mix_config` value.
|
|
func (smel *AVIAMFSubmixElement) GetElementMixConfig() *AVIAMFParamDefinition {
|
|
return (*AVIAMFParamDefinition)(smel.element_mix_config)
|
|
}
|
|
|
|
// SetElementMixConfig sets `AVIAMFSubmixElement.element_mix_config` value.
|
|
func (smel *AVIAMFSubmixElement) SetElementMixConfig(v *AVIAMFParamDefinition) {
|
|
smel.element_mix_config = (*C.struct_AVIAMFParamDefinition)(v)
|
|
}
|
|
|
|
// GetElementMixConfigAddr gets `AVIAMFSubmixElement.element_mix_config` address.
|
|
func (smel *AVIAMFSubmixElement) GetElementMixConfigAddr() **AVIAMFParamDefinition {
|
|
return (**AVIAMFParamDefinition)(unsafe.Pointer(&smel.element_mix_config))
|
|
}
|
|
|
|
// GetDefaultMixGain gets `AVIAMFSubmixElement.default_mix_gain` value.
|
|
func (smel *AVIAMFSubmixElement) GetDefaultMixGain() AVRational {
|
|
return (AVRational)(smel.default_mix_gain)
|
|
}
|
|
|
|
// SetDefaultMixGain sets `AVIAMFSubmixElement.default_mix_gain` value.
|
|
func (smel *AVIAMFSubmixElement) SetDefaultMixGain(v AVRational) {
|
|
smel.default_mix_gain = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetDefaultMixGainAddr gets `AVIAMFSubmixElement.default_mix_gain` address.
|
|
func (smel *AVIAMFSubmixElement) GetDefaultMixGainAddr() *AVRational {
|
|
return (*AVRational)(&smel.default_mix_gain)
|
|
}
|
|
|
|
// GetHeadphonesRenderingMode gets `AVIAMFSubmixElement.headphones_rendering_mode` value.
|
|
func (smel *AVIAMFSubmixElement) GetHeadphonesRenderingMode() AVIAMFHeadphonesMode {
|
|
return (AVIAMFHeadphonesMode)(smel.headphones_rendering_mode)
|
|
}
|
|
|
|
// SetHeadphonesRenderingMode sets `AVIAMFSubmixElement.headphones_rendering_mode` value.
|
|
func (smel *AVIAMFSubmixElement) SetHeadphonesRenderingMode(v AVIAMFHeadphonesMode) {
|
|
smel.headphones_rendering_mode = (C.enum_AVIAMFHeadphonesMode)(v)
|
|
}
|
|
|
|
// GetHeadphonesRenderingModeAddr gets `AVIAMFSubmixElement.headphones_rendering_mode` address.
|
|
func (smel *AVIAMFSubmixElement) GetHeadphonesRenderingModeAddr() *AVIAMFHeadphonesMode {
|
|
return (*AVIAMFHeadphonesMode)(&smel.headphones_rendering_mode)
|
|
}
|
|
|
|
// GetAnnotations gets `AVIAMFSubmixElement.annotations` value.
|
|
func (smel *AVIAMFSubmixElement) GetAnnotations() *AVDictionary {
|
|
return (*AVDictionary)(smel.annotations)
|
|
}
|
|
|
|
// SetAnnotations sets `AVIAMFSubmixElement.annotations` value.
|
|
func (smel *AVIAMFSubmixElement) SetAnnotations(v *AVDictionary) {
|
|
smel.annotations = (*C.struct_AVDictionary)(v)
|
|
}
|
|
|
|
// GetAnnotationsAddr gets `AVIAMFSubmixElement.annotations` address.
|
|
func (smel *AVIAMFSubmixElement) GetAnnotationsAddr() **AVDictionary {
|
|
return (**AVDictionary)(unsafe.Pointer(&smel.annotations))
|
|
}
|
|
|
|
// AVIAMFSubmixLayoutType
|
|
type AVIAMFSubmixLayoutType = C.enum_AVIAMFSubmixLayoutType
|
|
|
|
const (
|
|
AV_IAMF_SUBMIX_LAYOUT_TYPE_LOUDSPEAKERS = AVIAMFSubmixLayoutType(C.AV_IAMF_SUBMIX_LAYOUT_TYPE_LOUDSPEAKERS)
|
|
AV_IAMF_SUBMIX_LAYOUT_TYPE_BINAURAL = AVIAMFSubmixLayoutType(C.AV_IAMF_SUBMIX_LAYOUT_TYPE_BINAURAL)
|
|
)
|
|
|
|
// AVIAMFSubmixLayout
|
|
type AVIAMFSubmixLayout C.struct_AVIAMFSubmixLayout
|
|
|
|
// GetAvClass gets `AVIAMFSubmixLayout.av_class` value.
|
|
func (smlo *AVIAMFSubmixLayout) GetAvClass() *AVClass {
|
|
return (*AVClass)(smlo.av_class)
|
|
}
|
|
|
|
// SetAvClass sets `AVIAMFSubmixLayout.av_class` value.
|
|
func (smlo *AVIAMFSubmixLayout) SetAvClass(v *AVClass) {
|
|
smlo.av_class = (*C.struct_AVClass)(v)
|
|
}
|
|
|
|
// GetAvClassAddr gets `AVIAMFSubmixLayout.av_class` address.
|
|
func (smlo *AVIAMFSubmixLayout) GetAvClassAddr() **AVClass {
|
|
return (**AVClass)(unsafe.Pointer(&smlo.av_class))
|
|
}
|
|
|
|
// GetLayoutType gets `AVIAMFSubmixLayout.layout_type` value.
|
|
func (smlo *AVIAMFSubmixLayout) GetLayoutType() AVIAMFSubmixLayoutType {
|
|
return (AVIAMFSubmixLayoutType)(smlo.layout_type)
|
|
}
|
|
|
|
// SetLayoutType sets `AVIAMFSubmixLayout.layout_type` value.
|
|
func (smlo *AVIAMFSubmixLayout) SetLayoutType(v AVIAMFSubmixLayoutType) {
|
|
smlo.layout_type = (C.enum_AVIAMFSubmixLayoutType)(v)
|
|
}
|
|
|
|
// GetLayoutTypeAddr gets `AVIAMFSubmixLayout.layout_type` address.
|
|
func (smlo *AVIAMFSubmixLayout) GetLayoutTypeAddr() *AVIAMFSubmixLayoutType {
|
|
return (*AVIAMFSubmixLayoutType)(&smlo.layout_type)
|
|
}
|
|
|
|
// GetSoundSystem gets `AVIAMFSubmixLayout.sound_system` value.
|
|
func (smlo *AVIAMFSubmixLayout) GetSoundSystem() AVChannelLayout {
|
|
return (AVChannelLayout)(smlo.sound_system)
|
|
}
|
|
|
|
// SetSoundSystem sets `AVIAMFSubmixLayout.sound_system` value.
|
|
func (smlo *AVIAMFSubmixLayout) SetSoundSystem(v AVChannelLayout) {
|
|
smlo.sound_system = (C.struct_AVChannelLayout)(v)
|
|
}
|
|
|
|
// GetSoundSystemAddr gets `AVIAMFSubmixLayout.sound_system` address.
|
|
func (smlo *AVIAMFSubmixLayout) GetSoundSystemAddr() *AVChannelLayout {
|
|
return (*AVChannelLayout)(&smlo.sound_system)
|
|
}
|
|
|
|
// GetIntegratedLoudness gets `AVIAMFSubmixLayout.integrated_loudness` value.
|
|
func (smlo *AVIAMFSubmixLayout) GetIntegratedLoudness() AVRational {
|
|
return (AVRational)(smlo.integrated_loudness)
|
|
}
|
|
|
|
// SetIntegratedLoudness sets `AVIAMFSubmixLayout.integrated_loudness` value.
|
|
func (smlo *AVIAMFSubmixLayout) SetIntegratedLoudness(v AVRational) {
|
|
smlo.integrated_loudness = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetIntegratedLoudnessAddr gets `AVIAMFSubmixLayout.integrated_loudness` address.
|
|
func (smlo *AVIAMFSubmixLayout) GetIntegratedLoudnessAddr() *AVRational {
|
|
return (*AVRational)(&smlo.integrated_loudness)
|
|
}
|
|
|
|
// GetDigitalPeak gets `AVIAMFSubmixLayout.digital_peak` value.
|
|
func (smlo *AVIAMFSubmixLayout) GetDigitalPeak() AVRational {
|
|
return (AVRational)(smlo.digital_peak)
|
|
}
|
|
|
|
// SetDigitalPeak sets `AVIAMFSubmixLayout.digital_peak` value.
|
|
func (smlo *AVIAMFSubmixLayout) SetDigitalPeak(v AVRational) {
|
|
smlo.digital_peak = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetDigitalPeakAddr gets `AVIAMFSubmixLayout.digital_peak` address.
|
|
func (smlo *AVIAMFSubmixLayout) GetDigitalPeakAddr() *AVRational {
|
|
return (*AVRational)(&smlo.digital_peak)
|
|
}
|
|
|
|
// GetTruePeak gets `AVIAMFSubmixLayout.true_peak` value.
|
|
func (smlo *AVIAMFSubmixLayout) GetTruePeak() AVRational {
|
|
return (AVRational)(smlo.true_peak)
|
|
}
|
|
|
|
// SetTruePeak sets `AVIAMFSubmixLayout.true_peak` value.
|
|
func (smlo *AVIAMFSubmixLayout) SetTruePeak(v AVRational) {
|
|
smlo.true_peak = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetTruePeakAddr gets `AVIAMFSubmixLayout.true_peak` address.
|
|
func (smlo *AVIAMFSubmixLayout) GetTruePeakAddr() *AVRational {
|
|
return (*AVRational)(&smlo.true_peak)
|
|
}
|
|
|
|
// GetDialogueAnchoredLoudness gets `AVIAMFSubmixLayout.dialogue_anchored_loudness` value.
|
|
func (smlo *AVIAMFSubmixLayout) GetDialogueAnchoredLoudness() AVRational {
|
|
return (AVRational)(smlo.dialogue_anchored_loudness)
|
|
}
|
|
|
|
// SetDialogueAnchoredLoudness sets `AVIAMFSubmixLayout.dialogue_anchored_loudness` value.
|
|
func (smlo *AVIAMFSubmixLayout) SetDialogueAnchoredLoudness(v AVRational) {
|
|
smlo.dialogue_anchored_loudness = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetDialogueAnchoredLoudnessAddr gets `AVIAMFSubmixLayout.dialogue_anchored_loudness` address.
|
|
func (smlo *AVIAMFSubmixLayout) GetDialogueAnchoredLoudnessAddr() *AVRational {
|
|
return (*AVRational)(&smlo.dialogue_anchored_loudness)
|
|
}
|
|
|
|
// GetAlbumAnchoredLoudness gets `AVIAMFSubmixLayout.album_anchored_loudness` value.
|
|
func (smlo *AVIAMFSubmixLayout) GetAlbumAnchoredLoudness() AVRational {
|
|
return (AVRational)(smlo.album_anchored_loudness)
|
|
}
|
|
|
|
// SetAlbumAnchoredLoudness sets `AVIAMFSubmixLayout.album_anchored_loudness` value.
|
|
func (smlo *AVIAMFSubmixLayout) SetAlbumAnchoredLoudness(v AVRational) {
|
|
smlo.album_anchored_loudness = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetAlbumAnchoredLoudnessAddr gets `AVIAMFSubmixLayout.album_anchored_loudness` address.
|
|
func (smlo *AVIAMFSubmixLayout) GetAlbumAnchoredLoudnessAddr() *AVRational {
|
|
return (*AVRational)(&smlo.album_anchored_loudness)
|
|
}
|
|
|
|
// AVIAMFSubmix
|
|
type AVIAMFSubmix C.struct_AVIAMFSubmix
|
|
|
|
// GetAvClass gets `AVIAMFSubmix.av_class` value.
|
|
func (smix *AVIAMFSubmix) GetAvClass() *AVClass {
|
|
return (*AVClass)(smix.av_class)
|
|
}
|
|
|
|
// SetAvClass sets `AVIAMFSubmix.av_class` value.
|
|
func (smix *AVIAMFSubmix) SetAvClass(v *AVClass) {
|
|
smix.av_class = (*C.struct_AVClass)(v)
|
|
}
|
|
|
|
// GetAvClassAddr gets `AVIAMFSubmix.av_class` address.
|
|
func (smix *AVIAMFSubmix) GetAvClassAddr() **AVClass {
|
|
return (**AVClass)(unsafe.Pointer(&smix.av_class))
|
|
}
|
|
|
|
// GetElements gets `AVIAMFSubmix.elements` value.
|
|
func (smix *AVIAMFSubmix) GetElements() []*AVIAMFSubmixElement {
|
|
return unsafe.Slice((**AVIAMFSubmixElement)(unsafe.Pointer(smix.elements)), smix.nb_elements)
|
|
}
|
|
|
|
// SetElements sets `AVIAMFSubmix.elements` value.
|
|
func (smix *AVIAMFSubmix) SetElements(v **AVIAMFSubmixElement) {
|
|
smix.elements = (**C.struct_AVIAMFSubmixElement)(unsafe.Pointer(v))
|
|
}
|
|
|
|
// GetElementsAddr gets `AVIAMFSubmix.elements` address.
|
|
func (smix *AVIAMFSubmix) GetElementsAddr() ***AVIAMFSubmixElement {
|
|
return (***AVIAMFSubmixElement)(unsafe.Pointer(&smix.elements))
|
|
}
|
|
|
|
// GetNbElements gets `AVIAMFSubmix.nb_elements` value.
|
|
func (smix *AVIAMFSubmix) GetNbElements() uint32 {
|
|
return (uint32)(smix.nb_elements)
|
|
}
|
|
|
|
// SetNbElements sets `AVIAMFSubmix.nb_elements` value.
|
|
func (smix *AVIAMFSubmix) SetNbElements(v uint32) {
|
|
smix.nb_elements = (C.uint)(v)
|
|
}
|
|
|
|
// GetNbElementsAddr gets `AVIAMFSubmix.nb_elements` address.
|
|
func (smix *AVIAMFSubmix) GetNbElementsAddr() *uint32 {
|
|
return (*uint32)(&smix.nb_elements)
|
|
}
|
|
|
|
// GetLayouts gets `AVIAMFSubmix.layouts` value.
|
|
func (smix *AVIAMFSubmix) GetLayouts() []*AVIAMFSubmixLayout {
|
|
return unsafe.Slice((**AVIAMFSubmixLayout)(unsafe.Pointer(smix.layouts)), smix.nb_layouts)
|
|
}
|
|
|
|
// SetLayouts sets `AVIAMFSubmix.layouts` value.
|
|
func (smix *AVIAMFSubmix) SetLayouts(v **AVIAMFSubmixLayout) {
|
|
smix.layouts = (**C.struct_AVIAMFSubmixLayout)(unsafe.Pointer(v))
|
|
}
|
|
|
|
// GetLayoutsAddr gets `AVIAMFSubmix.layouts` address.
|
|
func (smix *AVIAMFSubmix) GetLayoutsAddr() ***AVIAMFSubmixLayout {
|
|
return (***AVIAMFSubmixLayout)(unsafe.Pointer(&smix.layouts))
|
|
}
|
|
|
|
// GetNbLayouts gets `AVIAMFSubmix.nb_layouts` value.
|
|
func (smix *AVIAMFSubmix) GetNbLayouts() uint32 {
|
|
return (uint32)(smix.nb_layouts)
|
|
}
|
|
|
|
// SetNbLayouts sets `AVIAMFSubmix.nb_layouts` value.
|
|
func (smix *AVIAMFSubmix) SetNbLayouts(v uint32) {
|
|
smix.nb_layouts = (C.uint)(v)
|
|
}
|
|
|
|
// GetNbLayoutsAddr gets `AVIAMFSubmix.nb_layouts` address.
|
|
func (smix *AVIAMFSubmix) GetNbLayoutsAddr() *uint32 {
|
|
return (*uint32)(&smix.nb_layouts)
|
|
}
|
|
|
|
// GetOutputMixConfig gets `AVIAMFSubmix.output_mix_config` value.
|
|
func (smix *AVIAMFSubmix) GetOutputMixConfig() *AVIAMFParamDefinition {
|
|
return (*AVIAMFParamDefinition)(smix.output_mix_config)
|
|
}
|
|
|
|
// SetOutputMixConfig sets `AVIAMFSubmix.output_mix_config` value.
|
|
func (smix *AVIAMFSubmix) SetOutputMixConfig(v *AVIAMFParamDefinition) {
|
|
smix.output_mix_config = (*C.struct_AVIAMFParamDefinition)(v)
|
|
}
|
|
|
|
// GetOutputMixConfigAddr gets `AVIAMFSubmix.output_mix_config` address.
|
|
func (smix *AVIAMFSubmix) GetOutputMixConfigAddr() **AVIAMFParamDefinition {
|
|
return (**AVIAMFParamDefinition)(unsafe.Pointer(&smix.output_mix_config))
|
|
}
|
|
|
|
// GetDefaultMixGain gets `AVIAMFSubmix.default_mix_gain` value.
|
|
func (smix *AVIAMFSubmix) GetDefaultMixGain() AVRational {
|
|
return (AVRational)(smix.default_mix_gain)
|
|
}
|
|
|
|
// SetDefaultMixGain sets `AVIAMFSubmix.default_mix_gain` value.
|
|
func (smix *AVIAMFSubmix) SetDefaultMixGain(v AVRational) {
|
|
smix.default_mix_gain = (C.struct_AVRational)(v)
|
|
}
|
|
|
|
// GetDefaultMixGainAddr gets `AVIAMFSubmix.default_mix_gain` address.
|
|
func (smix *AVIAMFSubmix) GetDefaultMixGainAddr() *AVRational {
|
|
return (*AVRational)(&smix.default_mix_gain)
|
|
}
|
|
|
|
// AVIAMFMixPresentation
|
|
type AVIAMFMixPresentation C.struct_AVIAMFMixPresentation
|
|
|
|
// GetAvClass gets `AVIAMFMixPresentation.av_class` value.
|
|
func (mpst *AVIAMFMixPresentation) GetAvClass() *AVClass {
|
|
return (*AVClass)(mpst.av_class)
|
|
}
|
|
|
|
// SetAvClass sets `AVIAMFMixPresentation.av_class` value.
|
|
func (mpst *AVIAMFMixPresentation) SetAvClass(v *AVClass) {
|
|
mpst.av_class = (*C.struct_AVClass)(v)
|
|
}
|
|
|
|
// GetAvClassAddr gets `AVIAMFMixPresentation.av_class` address.
|
|
func (mpst *AVIAMFMixPresentation) GetAvClassAddr() **AVClass {
|
|
return (**AVClass)(unsafe.Pointer(&mpst.av_class))
|
|
}
|
|
|
|
// GetSubmixes gets `AVIAMFMixPresentation.submixes` value.
|
|
func (mpst *AVIAMFMixPresentation) GetSubmixes() []*AVIAMFSubmix {
|
|
return unsafe.Slice((**AVIAMFSubmix)(unsafe.Pointer(mpst.submixes)), mpst.nb_submixes)
|
|
}
|
|
|
|
// SetSubmixes sets `AVIAMFMixPresentation.submixes` value.
|
|
func (mpst *AVIAMFMixPresentation) SetSubmixes(v **AVIAMFSubmix) {
|
|
mpst.submixes = (**C.struct_AVIAMFSubmix)(unsafe.Pointer(v))
|
|
}
|
|
|
|
// GetSubmixesAddr gets `AVIAMFMixPresentation.submixes` address.
|
|
func (mpst *AVIAMFMixPresentation) GetSubmixesAddr() ***AVIAMFSubmix {
|
|
return (***AVIAMFSubmix)(unsafe.Pointer(&mpst.submixes))
|
|
}
|
|
|
|
// GetNbSubmixes gets `AVIAMFMixPresentation.nb_submixes` value.
|
|
func (mpst *AVIAMFMixPresentation) GetNbSubmixes() uint32 {
|
|
return (uint32)(mpst.nb_submixes)
|
|
}
|
|
|
|
// SetNbSubmixes sets `AVIAMFMixPresentation.nb_submixes` value.
|
|
func (mpst *AVIAMFMixPresentation) SetNbSubmixes(v uint32) {
|
|
mpst.nb_submixes = (C.uint)(v)
|
|
}
|
|
|
|
// GetNbSubmixesAddr gets `AVIAMFMixPresentation.nb_submixes` address.
|
|
func (mpst *AVIAMFMixPresentation) GetNbSubmixesAddr() *uint32 {
|
|
return (*uint32)(&mpst.nb_submixes)
|
|
}
|
|
|
|
// GetAnnotations gets `AVIAMFMixPresentation.annotations` value.
|
|
func (mpst *AVIAMFMixPresentation) GetAnnotations() *AVDictionary {
|
|
return (*AVDictionary)(mpst.annotations)
|
|
}
|
|
|
|
// SetAnnotations sets `AVIAMFMixPresentation.annotations` value.
|
|
func (mpst *AVIAMFMixPresentation) SetAnnotations(v *AVDictionary) {
|
|
mpst.annotations = (*C.struct_AVDictionary)(v)
|
|
}
|
|
|
|
// GetAnnotationsAddr gets `AVIAMFMixPresentation.annotations` address.
|
|
func (mpst *AVIAMFMixPresentation) GetAnnotationsAddr() **AVDictionary {
|
|
return (**AVDictionary)(unsafe.Pointer(&mpst.annotations))
|
|
}
|
|
|
|
// AvIamfMixPresentationGetClass
|
|
func AvIamfMixPresentationGetClass() *AVClass {
|
|
return (*AVClass)(C.av_iamf_mix_presentation_get_class())
|
|
}
|
|
|
|
// AvIamfMixPresentationAlloc allocates a AVIAMFMixPresentation, and initializes its fields with default values.
|
|
func AvIamfMixPresentationAlloc() *AVIAMFMixPresentation {
|
|
return (*AVIAMFMixPresentation)(C.av_iamf_mix_presentation_alloc())
|
|
}
|
|
|
|
// AvIamfMixPresentationAddSubmix allocates a submix and add it to a given AVIAMFMixPresentation.
|
|
func AvIamfMixPresentationAddSubmix(mixPresentation *AVIAMFMixPresentation) *AVIAMFSubmix {
|
|
return (*AVIAMFSubmix)(C.av_iamf_mix_presentation_add_submix((*C.struct_AVIAMFMixPresentation)(mixPresentation)))
|
|
}
|
|
|
|
// AvIamfSubmixAddElement allocates a submix element and add it to a given AVIAMFSubmix.
|
|
func AvIamfSubmixAddElement(submix *AVIAMFSubmix) *AVIAMFSubmixElement {
|
|
return (*AVIAMFSubmixElement)(C.av_iamf_submix_add_element((*C.struct_AVIAMFSubmix)(submix)))
|
|
}
|
|
|
|
// AvIamfSubmixAddLayout allocates a submix layout and add it to a given AVIAMFSubmix.
|
|
func AvIamfSubmixAddLayout(submix *AVIAMFSubmix) *AVIAMFSubmixLayout {
|
|
return (*AVIAMFSubmixLayout)(C.av_iamf_submix_add_layout((*C.struct_AVIAMFSubmix)(submix)))
|
|
}
|
|
|
|
// AvIamfMixPresentationFree frees an AVIAMFMixPresentation and all its contents.
|
|
func AvIamfMixPresentationFree(mixPresentation **AVIAMFMixPresentation) {
|
|
C.av_iamf_mix_presentation_free((**C.struct_AVIAMFMixPresentation)(unsafe.Pointer(mixPresentation)))
|
|
}
|