Lines Matching defs:latmctx

283 static int latm_decode_audio_specific_config(struct LATMContext *latmctx,
286 AACContext *ac = &latmctx->aac_ctx;
319 if (!latmctx->initialized ||
323 if (latmctx->initialized) {
326 av_log(avctx, AV_LOG_DEBUG, "initializing latmctx\n");
328 latmctx->initialized = 0;
351 static int read_stream_mux_config(struct LATMContext *latmctx,
356 latmctx->audio_mux_version_A = 0;
358 latmctx->audio_mux_version_A = get_bits(gb, 1);
360 if (!latmctx->audio_mux_version_A) {
369 avpriv_request_sample(latmctx->aac_ctx.avctx, "Multiple programs");
377 avpriv_request_sample(latmctx->aac_ctx.avctx, "Multiple layers");
383 if ((ret = latm_decode_audio_specific_config(latmctx, gb, 0)) < 0)
387 if ((ret = latm_decode_audio_specific_config(latmctx, gb, ascLen)) < 0)
391 latmctx->frame_length_type = get_bits(gb, 3);
392 switch (latmctx->frame_length_type) {
397 latmctx->frame_length = get_bits(gb, 9);
454 static int read_audio_mux_element(struct LATMContext *latmctx,
460 if ((err = read_stream_mux_config(latmctx, gb)) < 0)
462 } else if (!latmctx->aac_ctx.avctx->extradata) {
463 av_log(latmctx->aac_ctx.avctx, AV_LOG_DEBUG,
467 if (latmctx->audio_mux_version_A == 0) {
468 int mux_slot_length_bytes = read_payload_length_info(latmctx, gb);
470 av_log(latmctx->aac_ctx.avctx, AV_LOG_ERROR, "incomplete frame\n");
473 av_log(latmctx->aac_ctx.avctx, AV_LOG_ERROR,
486 struct LATMContext *latmctx = avctx->priv_data;
502 if ((err = read_audio_mux_element(latmctx, &gb)))
505 if (!latmctx->initialized) {
510 push_output_configuration(&latmctx->aac_ctx);
512 &latmctx->aac_ctx, avctx, &latmctx->aac_ctx.oc[1].m4ac,
514 pop_output_configuration(&latmctx->aac_ctx);
517 latmctx->initialized = 1;
522 av_log(latmctx->aac_ctx.avctx, AV_LOG_ERROR,
528 switch (latmctx->aac_ctx.oc[1].m4ac.object_type) {
546 struct LATMContext *latmctx = avctx->priv_data;
550 latmctx->initialized = !ret;