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

Reply via email to