On Mon, Jan 30, 2017 at 8:40 AM, wm4 <nfx...@googlemail.com> wrote: > On Mon, 30 Jan 2017 01:37:02 +0100 > Marton Balint <c...@passwd.hu> wrote: > >> I wonder how unknown layouts ever worked without this? >> >> Signed-off-by: Marton Balint <c...@passwd.hu> >> --- >> libavutil/frame.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/libavutil/frame.c b/libavutil/frame.c >> index c2f5509..a08e0c5 100644 >> --- a/libavutil/frame.c >> +++ b/libavutil/frame.c >> @@ -725,7 +725,7 @@ int av_frame_copy(AVFrame *dst, const AVFrame *src) >> >> if (dst->width > 0 && dst->height > 0) >> return frame_copy_video(dst, src); >> - else if (dst->nb_samples > 0 && dst->channel_layout) >> + else if (dst->nb_samples > 0 && dst->channels > 0) >> return frame_copy_audio(dst, src); >> >> return AVERROR(EINVAL); > > The original code was written with the assumption that only channel > layouts exist in the AVFrame. And the Libav API follows that. This > patch will probably break Libav API users (or those who want to stay > compatible to them) some more.
The copying code would have failed anyway if channels was 0 and not copied anything, so it doesn't break anything that worked before - except that it returns an error code now properly indicating the failure. In any case, we've decide quite a while ago to forego any illusions of API or ABI compatibility, because its impossible to guarantee it anyway. - Hendrik _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel