MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / avtext_print_string

Function avtext_print_string

fftools/textformat/avtextformat.c:439–479  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

437
438
439int avtext_print_string(AVTextFormatContext *tctx, const char *key, const char *val, int flags)
440{
441 const AVTextFormatSection *section;
442 int ret = 0;
443
444 av_assert0(key && val && tctx->level >= 0 && tctx->level < SECTION_MAX_NB_LEVELS);
445
446 section = tctx->section[tctx->level];
447
448 if (tctx->opts.show_optional_fields == SHOW_OPTIONAL_FIELDS_NEVER)
449 return 0;
450
451 if (tctx->opts.show_optional_fields == SHOW_OPTIONAL_FIELDS_AUTO
452 && (flags & AV_TEXTFORMAT_PRINT_STRING_OPTIONAL)
453 && !(tctx->formatter->flags & AV_TEXTFORMAT_FLAG_SUPPORTS_OPTIONAL_FIELDS))
454 return 0;
455
456 if (!tctx->opts.is_key_selected || tctx->opts.is_key_selected(tctx, key)) {
457 if (flags & AV_TEXTFORMAT_PRINT_STRING_VALIDATE) {
458 char *key1 = NULL, *val1 = NULL;
459 ret = validate_string(tctx, &key1, key);
460 if (ret < 0) goto end;
461 ret = validate_string(tctx, &val1, val);
462 if (ret < 0) goto end;
463 tctx->formatter->print_string(tctx, key1, val1);
464 end:
465 if (ret < 0)
466 av_log(tctx, AV_LOG_ERROR,
467 "Invalid key=value string combination %s=%s in section %s\n",
468 key, val, section->unique_name);
469 av_free(key1);
470 av_free(val1);
471 } else {
472 tctx->formatter->print_string(tctx, key, val);
473 }
474
475 tctx->nb_item[tctx->level]++;
476 }
477
478 return ret;
479}
480
481void avtext_print_rational(AVTextFormatContext *tctx, const char *key, AVRational q, char sep)
482{

Callers 7

print_integersFunction · 0.85
avtext_print_rationalFunction · 0.85
avtext_print_timeFunction · 0.85
avtext_print_tsFunction · 0.85
avtext_print_dataFunction · 0.85
avtext_print_data_hashFunction · 0.85

Calls 3

validate_stringFunction · 0.85
av_logFunction · 0.85
av_freeFunction · 0.50

Tested by

no test coverage detected