[FFmpeg-devel] lavf/rawenc: Only accept the appropriate stream type for raw muxers

Submitted by Carl Eugen Hoyos on June 30, 2019, 10:47 p.m.

Details

Message ID CAB0OVGoRdsLrrRw7Nr9zgLkh7nm78Hq7nZh3UpsEZqRrW3HbjQ@mail.gmail.com
State New
Headers show

Commit Message

Carl Eugen Hoyos June 30, 2019, 10:47 p.m.
Am Mo., 1. Juli 2019 um 00:40 Uhr schrieb Carl Eugen Hoyos <ceffmpeg@gmail.com>:
>
> Hi!
>
> Attached patch fixes ticket #7979 for me.

Now attached.

> Please comment, Carl Eugen

Comments

Carl Eugen Hoyos Aug. 11, 2019, 12:25 a.m.
Am Mo., 1. Juli 2019 um 00:47 Uhr schrieb Carl Eugen Hoyos <ceffmpeg@gmail.com>:
>
> Am Mo., 1. Juli 2019 um 00:40 Uhr schrieb Carl Eugen Hoyos <ceffmpeg@gmail.com>:
> >
> > Hi!
> >
> > Attached patch fixes ticket #7979 for me.
>
> Now attached.

Ping.

Carl Eugen
mypopy@gmail.com Aug. 15, 2019, 2:38 a.m.
On Sun, Aug 11, 2019 at 8:26 AM Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>
> Am Mo., 1. Juli 2019 um 00:47 Uhr schrieb Carl Eugen Hoyos <ceffmpeg@gmail.com>:
> >
> > Am Mo., 1. Juli 2019 um 00:40 Uhr schrieb Carl Eugen Hoyos <ceffmpeg@gmail.com>:
> > >
> > > Hi!
> > >
> > > Attached patch fixes ticket #7979 for me.
> >
> > Now attached.
>
> Ping.
>
> Carl Eugen
LGTM, tested and verified

Patch hide | download patch | download mbox

From 702506c37b239bf26335fb8f42d06511b8604bb5 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Date: Mon, 1 Jul 2019 00:37:08 +0200
Subject: [PATCH] lavf/rawenc: Only accept the appropriate stream type for raw
 muxers.

This does not affect the rawvideo muxer.

Fixes ticket #7979.
---
 libavformat/rawenc.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c
index 993d232b70..32704f9bfd 100644
--- a/libavformat/rawenc.c
+++ b/libavformat/rawenc.c
@@ -39,6 +39,18 @@  static int force_one_stream(AVFormatContext *s)
                s->oformat->name);
         return AVERROR(EINVAL);
     }
+    if (   s->oformat->audio_codec != AV_CODEC_ID_NONE
+        && s->streams[0]->codecpar->codec_type != AVMEDIA_TYPE_AUDIO) {
+        av_log(s, AV_LOG_ERROR, "%s files have exactly one audio stream\n",
+               s->oformat->name);
+        return AVERROR(EINVAL);
+    }
+    if (   s->oformat->video_codec != AV_CODEC_ID_NONE
+        && s->streams[0]->codecpar->codec_type != AVMEDIA_TYPE_VIDEO) {
+        av_log(s, AV_LOG_ERROR, "%s files have exactly one video stream\n",
+               s->oformat->name);
+        return AVERROR(EINVAL);
+    }
     return 0;
 }
 
-- 
2.22.0