[FFmpeg-cvslog] ffmpeg_filter: check that the input media type match the filter

Michael Niedermayer git at videolan.org
Wed Aug 14 03:04:27 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Aug 14 02:11:30 2013 +0200| [640a36a05c4d9d371086c22a158fb3d314a71538] | committer: Michael Niedermayer

ffmpeg_filter: check that the input media type match the filter

Fixes Ticket2012

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=640a36a05c4d9d371086c22a158fb3d314a71538
---

 ffmpeg_filter.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c
index 4f1e572..80089ff 100644
--- a/ffmpeg_filter.c
+++ b/ffmpeg_filter.c
@@ -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,



More information about the ffmpeg-cvslog mailing list