X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=ffmpeg_filter.c;h=80089fff4b391bc0494bb9efc7af0df94f6851b6;hb=b4429c259a64b46357165e4eafaead175be44760;hp=e17c4a598894374885f1816cf1cf6c0ec0c562d2;hpb=296eaa84b9d0659b48014917f99032b3fa725302;p=ffmpeg diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c index e17c4a59889..80089fff4b3 100644 --- a/ffmpeg_filter.c +++ b/ffmpeg_filter.c @@ -302,11 +302,11 @@ static int insert_trim(int64_t start_time, int64_t duration, return AVERROR(ENOMEM); if (duration != INT64_MAX) { - ret = av_opt_set_double(ctx, "duration", (double)duration / 1e6, + ret = av_opt_set_int(ctx, "durationi", duration, AV_OPT_SEARCH_CHILDREN); } if (ret >= 0 && start_time != AV_NOPTS_VALUE) { - ret = av_opt_set_double(ctx, "start", (double)start_time / 1e6, + ret = av_opt_set_int(ctx, "starti", start_time, AV_OPT_SEARCH_CHILDREN); } if (ret < 0) { @@ -626,6 +626,11 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter, char name[255]; int ret, pad_idx = 0; + if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO) { + av_log(NULL, AV_LOG_ERROR, "Cannot connect video filter to audio input\n"); + return AVERROR(EINVAL); + } + if (!fr.num) fr = av_guess_frame_rate(input_files[ist->file_index]->ctx, ist->st, NULL); @@ -714,6 +719,11 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter, char name[255]; int ret, pad_idx = 0; + if (ist->st->codec->codec_type != AVMEDIA_TYPE_AUDIO) { + av_log(NULL, AV_LOG_ERROR, "Cannot connect audio filter to non audio input\n"); + return AVERROR(EINVAL); + } + av_bprint_init(&args, 0, AV_BPRINT_SIZE_AUTOMATIC); av_bprintf(&args, "time_base=%d/%d:sample_rate=%d:sample_fmt=%s", 1, ist->st->codec->sample_rate,