Unified · Split
| @@ -277,7 +277,7 @@ int ff_iamf_add_audio_element(IAMFContext *iamf, const AVStreamGroup *stg, void · 276 unmodified lines | |||
| 277 | 277 | ||
| 278 | if (iamf_audio_element->demixing_info) { | 278 | if (iamf_audio_element->demixing_info) { |
| 279 | AVIAMFParamDefinition *param = iamf_audio_element->demixing_info; | 279 | AVIAMFParamDefinition *param = iamf_audio_element->demixing_info; |
| 280 | IAMFParamDefinition *param_definition = ff_iamf_get_param_definition(iamf, param->parameter_id); | 280 | const IAMFParamDefinition *param_definition = ff_iamf_get_param_definition(iamf, param->parameter_id); |
| 281 | 281 | ||
| 282 | if (param->nb_subblocks != 1) { | 282 | if (param->nb_subblocks != 1) { |
| 283 | av_log(log_ctx, AV_LOG_ERROR, "nb_subblocks in demixing_info for stream group %u is not 1\n", stg->index); | 283 | av_log(log_ctx, AV_LOG_ERROR, "nb_subblocks in demixing_info for stream group %u is not 1\n", stg->index); |
| @@ -293,7 +293,7 @@ int ff_iamf_add_audio_element(IAMFContext *iamf, const AVStreamGroup *stg, void · 9 unmodified lines | |||
| 293 | } | 293 | } |
| 294 | if (iamf_audio_element->recon_gain_info) { | 294 | if (iamf_audio_element->recon_gain_info) { |
| 295 | AVIAMFParamDefinition *param = iamf_audio_element->recon_gain_info; | 295 | AVIAMFParamDefinition *param = iamf_audio_element->recon_gain_info; |
| 296 | IAMFParamDefinition *param_definition = ff_iamf_get_param_definition(iamf, param->parameter_id); | 296 | const IAMFParamDefinition *param_definition = ff_iamf_get_param_definition(iamf, param->parameter_id); |
| 297 | 297 | ||
| 298 | if (param->nb_subblocks != 1) { | 298 | if (param->nb_subblocks != 1) { |
| 299 | av_log(log_ctx, AV_LOG_ERROR, "nb_subblocks in recon_gain_info for stream group %u is not 1\n", stg->index); | 299 | av_log(log_ctx, AV_LOG_ERROR, "nb_subblocks in recon_gain_info for stream group %u is not 1\n", stg->index); |
| @@ -495,7 +495,7 @@ static int scalable_channel_layout_config(const IAMFAudioElement *audio_element, · 195 unmodified lines | |||
| 495 | flush_put_bits(&pb); | 495 | flush_put_bits(&pb); |
| 496 | avio_write(dyn_bc, header, put_bytes_count(&pb, 1)); | 496 | avio_write(dyn_bc, header, put_bytes_count(&pb, 1)); |
| 497 | for (int i = 0; i < element->nb_layers; i++) { | 497 | for (int i = 0; i < element->nb_layers; i++) { |
| 498 | AVIAMFLayer *layer = element->layers[i]; | 498 | const AVIAMFLayer *layer = element->layers[i]; |
| 499 | int layout; | 499 | int layout; |
| 500 | for (layout = 0; layout < FF_ARRAY_ELEMS(ff_iamf_scalable_ch_layouts); layout++) { | 500 | for (layout = 0; layout < FF_ARRAY_ELEMS(ff_iamf_scalable_ch_layouts); layout++) { |
| 501 | if (!av_channel_layout_compare(&layer->ch_layout, &ff_iamf_scalable_ch_layouts[layout])) | 501 | if (!av_channel_layout_compare(&layer->ch_layout, &ff_iamf_scalable_ch_layouts[layout])) |
| @@ -524,7 +524,7 @@ static int ambisonics_config(const IAMFAudioElement *audio_element, · 22 unmodified lines | |||
| 524 | AVIOContext *dyn_bc) | 524 | AVIOContext *dyn_bc) |
| 525 | { | 525 | { |
| 526 | const AVIAMFAudioElement *element = audio_element->celement; | 526 | const AVIAMFAudioElement *element = audio_element->celement; |
| 527 | AVIAMFLayer *layer = element->layers[0]; | 527 | const AVIAMFLayer *layer = element->layers[0]; |
| 528 | 528 | ||
| 529 | ffio_write_leb(dyn_bc, 0); // ambisonics_mode | 529 | ffio_write_leb(dyn_bc, 0); // ambisonics_mode |
| 530 | ffio_write_leb(dyn_bc, layer->ch_layout.nb_channels); // output_channel_count | 530 | ffio_write_leb(dyn_bc, layer->ch_layout.nb_channels); // output_channel_count |
| @@ -857,7 +857,7 @@ static int write_parameter_block(const IAMFContext *iamf, AVIOContext *pb, · 326 unmodified lines | |||
| 857 | const AVIAMFParamDefinition *param, void *log_ctx) | 857 | const AVIAMFParamDefinition *param, void *log_ctx) |
| 858 | { | 858 | { |
| 859 | uint8_t header[MAX_IAMF_OBU_HEADER_SIZE]; | 859 | uint8_t header[MAX_IAMF_OBU_HEADER_SIZE]; |
| 860 | IAMFParamDefinition *param_definition = ff_iamf_get_param_definition(iamf, param->parameter_id); | 860 | const IAMFParamDefinition *param_definition = ff_iamf_get_param_definition(iamf, param->parameter_id); |
| 861 | PutBitContext pbc; | 861 | PutBitContext pbc; |
| 862 | AVIOContext *dyn_bc; | 862 | AVIOContext *dyn_bc; |
| 863 | uint8_t *dyn_buf = NULL; | 863 | uint8_t *dyn_buf = NULL; |
| @@ -1034,7 +1034,8 @@ int ff_iamf_write_audio_frame(const IAMFContext *iamf, AVIOContext *pb, · 170 unmodified lines | |||
| 1034 | uint8_t header[MAX_IAMF_OBU_HEADER_SIZE]; | 1034 | uint8_t header[MAX_IAMF_OBU_HEADER_SIZE]; |
| 1035 | PutBitContext pbc; | 1035 | PutBitContext pbc; |
| 1036 | AVIOContext *dyn_bc; | 1036 | AVIOContext *dyn_bc; |
| 1037 | uint8_t *side_data, *dyn_buf = NULL; | 1037 | const uint8_t *side_data; |
| 1038 | uint8_t *dyn_buf = NULL; | ||
| 1038 | unsigned int skip_samples = 0, discard_padding = 0; | 1039 | unsigned int skip_samples = 0, discard_padding = 0; |
| 1039 | size_t side_data_size; | 1040 | size_t side_data_size; |
| 1040 | int dyn_size, type = audio_substream_id <= 17 ? | 1041 | int dyn_size, type = audio_substream_id <= 17 ? |
| @@ -1042,12 +1043,12 @@ int ff_iamf_write_audio_frame(const IAMFContext *iamf, AVIOContext *pb, · 1 unmodified line | |||
| 1042 | int ret; | 1043 | int ret; |
| 1043 | 1044 | ||
| 1044 | if (!pkt->size) { | 1045 | if (!pkt->size) { |
| 1045 | IAMFAudioElement *audio_element; | 1046 | const IAMFAudioElement *audio_element; |
| 1046 | IAMFCodecConfig *codec_config; | 1047 | IAMFCodecConfig *codec_config; |
| 1047 | size_t new_extradata_size; | 1048 | size_t new_extradata_size; |
| 1048 | uint8_t *new_extradata = av_packet_get_side_data(pkt, | 1049 | const uint8_t *new_extradata = av_packet_get_side_data(pkt, |
| 1049 | AV_PKT_DATA_NEW_EXTRADATA, | 1050 | AV_PKT_DATA_NEW_EXTRADATA, |
| 1050 | &new_extradata_size); | 1051 | &new_extradata_size); |
| 1051 | 1052 | ||
| 1052 | if (!new_extradata) | 1053 | if (!new_extradata) |
| 1053 | return AVERROR_INVALIDDATA; | 1054 | return AVERROR_INVALIDDATA; |