[FFmpeg-cvslog] lavfi: detect merge failure for unknown layouts.
Nicolas George
git at videolan.org
Mon Apr 1 15:19:30 CEST 2013
ffmpeg | branch: master | Nicolas George <nicolas.george at normalesup.org> | Thu Mar 14 21:54:48 2013 +0100| [f810ca63f804cd9f9da5e7a788ecc5b638b706c0] | committer: Nicolas George
lavfi: detect merge failure for unknown layouts.
Detect when filtering known layouts from an explicit list
results in an empty list.
Fix erratic behavior.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f810ca63f804cd9f9da5e7a788ecc5b638b706c0
---
libavfilter/formats.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index 43718e4..ea24627 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -184,6 +184,10 @@ AVFilterChannelLayouts *ff_merge_channel_layouts(AVFilterChannelLayouts *a,
for (i = j = 0; i < b->nb_channel_layouts; i++)
if (KNOWN(b->channel_layouts[i]))
b->channel_layouts[j++] = b->channel_layouts[i];
+ /* Not optimal: the unknown layouts of b may become known after
+ another merge. */
+ if (!j)
+ return NULL;
b->nb_channel_layouts = j;
}
MERGE_REF(b, a, channel_layouts, AVFilterChannelLayouts, fail);
More information about the ffmpeg-cvslog
mailing list