Message ID | 20191105033259.8751-1-andriy.gelman@gmail.com |
---|---|
State | Accepted |
Commit | 7b2ce27e56cfb4c55490035283a687251061bb50 |
Headers | show |
Andriy Gelman (12019-11-04): > From: Andriy Gelman <andriy.gelman@gmail.com> > > Before this commit an av_assert0 would fail if a v4l2 device did not > support a target format. > For example, > ./ffmpeg -f v4l2 -codec:v h264 -i /dev/video0 -f mpegts - > would signal an abort if /dev/video0 did not support h264. > > The new behaviour is to return an AVERROR(EINVAL) error code. An > av_assert0 has been added to verify this return. > > Fixes #6629 > > Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com> > --- > libavdevice/v4l2.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c > index 446a243cf8..365bacd771 100644 > --- a/libavdevice/v4l2.c > +++ b/libavdevice/v4l2.c > @@ -811,7 +811,8 @@ static int device_try_init(AVFormatContext *ctx, > } > > *codec_id = ff_fmt_v4l2codec(*desired_format); > - av_assert0(*codec_id != AV_CODEC_ID_NONE); > + if (*codec_id == AV_CODEC_ID_NONE) > + av_assert0(ret == AVERROR(EINVAL)); > return ret; > } > This version is fine by me, thanks. But I do not maintain this file. Please remember to reply to the list, not personally; it is the default, no need to do anything special if your software works normally. Regards,
On Wed, Nov 06, 2019 at 11:44:50AM +0100, Nicolas George wrote: > Andriy Gelman (12019-11-04): > > From: Andriy Gelman <andriy.gelman@gmail.com> > > > > Before this commit an av_assert0 would fail if a v4l2 device did not > > support a target format. > > For example, > > ./ffmpeg -f v4l2 -codec:v h264 -i /dev/video0 -f mpegts - > > would signal an abort if /dev/video0 did not support h264. > > > > The new behaviour is to return an AVERROR(EINVAL) error code. An > > av_assert0 has been added to verify this return. > > > > Fixes #6629 > > > > Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com> > > --- > > libavdevice/v4l2.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c > > index 446a243cf8..365bacd771 100644 > > --- a/libavdevice/v4l2.c > > +++ b/libavdevice/v4l2.c > > @@ -811,7 +811,8 @@ static int device_try_init(AVFormatContext *ctx, > > } > > > > *codec_id = ff_fmt_v4l2codec(*desired_format); > > - av_assert0(*codec_id != AV_CODEC_ID_NONE); > > + if (*codec_id == AV_CODEC_ID_NONE) > > + av_assert0(ret == AVERROR(EINVAL)); > > return ret; > > } > > > > This version is fine by me, thanks. But I do not maintain this file. will apply thanks [...]
diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c index 446a243cf8..365bacd771 100644 --- a/libavdevice/v4l2.c +++ b/libavdevice/v4l2.c @@ -811,7 +811,8 @@ static int device_try_init(AVFormatContext *ctx, } *codec_id = ff_fmt_v4l2codec(*desired_format); - av_assert0(*codec_id != AV_CODEC_ID_NONE); + if (*codec_id == AV_CODEC_ID_NONE) + av_assert0(ret == AVERROR(EINVAL)); return ret; }