static void dump_metadata(void *ctx, AVDictionary *m, const char *indent)

{

    if(m && !(m->count == 1 && av_dict_get(m, "language", NULL, 0))){

        AVDictionaryEntry *tag=NULL;



        av_log(ctx, AV_LOG_INFO, "%sMetadata:\n", indent);

        while((tag=av_dict_get(m, "", tag, AV_DICT_IGNORE_SUFFIX))) {

            if(strcmp("language", tag->key)){

                const char *p = tag->value;

                av_log(ctx, AV_LOG_INFO, "%s  %-16s: ", indent, tag->key);

                while(*p) {

                    char tmp[256];

                    size_t len = strcspn(p, "\xd\xa");

                    av_strlcpy(tmp, p, FFMIN(sizeof(tmp), len+1));

                    av_log(ctx, AV_LOG_INFO, "%s", tmp);

                    p += len;

                    if (*p == 0xd) av_log(ctx, AV_LOG_INFO, " ");

                    if (*p == 0xa) av_log(ctx, AV_LOG_INFO, "\n%s  %-16s: ", indent, "");

                    if (*p) p++;

                }

                av_log(ctx, AV_LOG_INFO, "\n");

            }

        }

    }

}

static void dump_metadata(void *ctx, AVDictionary *m, const char *indent)

{

    if(m && !(m->count == 1 && av_dict_get(m, "language", NULL, 0))){

        AVDictionaryEntry *tag=NULL;



        av_log(ctx, AV_LOG_INFO, "%sMetadata:\n", indent);

        while((tag=av_dict_get(m, "", tag, AV_DICT_IGNORE_SUFFIX))) {

            if(strcmp("language", tag->key)){

                const char *p = tag->value;

                av_log(ctx, AV_LOG_INFO, "%s  %-16s: ", indent, tag->key);

                while(*p) {

                    char tmp[256];

                    size_t len = strcspn(p, "\xd\xa");

                    av_strlcpy(tmp, p, FFMIN(sizeof(tmp), len+1));

                    av_log(ctx, AV_LOG_INFO, "%s", tmp);

                    p += len;

                    if (*p == 0xd) av_log(ctx, AV_LOG_INFO, " ");

                    if (*p == 0xa) av_log(ctx, AV_LOG_INFO, "\n%s  %-16s: ", indent, "");

                    if (*p) p++;

                }

                av_log(ctx, AV_LOG_INFO, "\n");

            }

        }

    }

}

static void FUNC_0(void *VAR_0, AVDictionary *VAR_1, const char *VAR_2)

{

    if(VAR_1 && !(VAR_1->count == 1 && av_dict_get(VAR_1, "language", NULL, 0))){

        AVDictionaryEntry *tag=NULL;



        av_log(VAR_0, AV_LOG_INFO, "%sMetadata:\n", VAR_2);

        while((tag=av_dict_get(VAR_1, "", tag, AV_DICT_IGNORE_SUFFIX))) {

            if(strcmp("language", tag->key)){

                const char *VAR_3 = tag->value;

                av_log(VAR_0, AV_LOG_INFO, "%s  %-16s: ", VAR_2, tag->key);

                while(*VAR_3) {

                    char VAR_4[256];

                    size_t len = strcspn(VAR_3, "\xd\xa");

                    av_strlcpy(VAR_4, VAR_3, FFMIN(sizeof(VAR_4), len+1));

                    av_log(VAR_0, AV_LOG_INFO, "%s", VAR_4);

                    VAR_3 += len;

                    if (*VAR_3 == 0xd) av_log(VAR_0, AV_LOG_INFO, " ");

                    if (*VAR_3 == 0xa) av_log(VAR_0, AV_LOG_INFO, "\n%s  %-16s: ", VAR_2, "");

                    if (*VAR_3) VAR_3++;

                }

                av_log(VAR_0, AV_LOG_INFO, "\n");

            }

        }

    }

}

static void FUNC_0(void *VAR_0, AVDictionary *VAR_1, const char *VAR_2)
{ if(VAR_1 && !(VAR_1->count == 1 && av_dict_get(VAR_1, "language", NULL, 0))){ AVDictionaryEntry *tag=NULL; av_log(VAR_0, AV_LOG_INFO, "%sMetadata:\n", VAR_2); while((tag=av_dict_get(VAR_1, "", tag, AV_DICT_IGNORE_SUFFIX))) { if(strcmp("language", tag->key)){ const char *VAR_3 = tag->value; av_log(VAR_0, AV_LOG_INFO, "%s  %-16s: ", VAR_2, tag->key); while(*VAR_3) { char VAR_4[256]; size_t len = strcspn(VAR_3, "\xd\xa"); av_strlcpy(VAR_4, VAR_3, FFMIN(sizeof(VAR_4), len+1)); av_log(VAR_0, AV_LOG_INFO, "%s", VAR_4); VAR_3 += len; if (*VAR_3 == 0xd) av_log(VAR_0, AV_LOG_INFO, " "); if (*VAR_3 == 0xa) av_log(VAR_0, AV_LOG_INFO, "\n%s  %-16s: ", VAR_2, ""); if (*VAR_3) VAR_3++; } av_log(VAR_0, AV_LOG_INFO, "\n"); } } } }