[FFmpeg-devel] [PATCH 1/2] lavfi/concat: implement unsafe mode.

Nicolas George nicolas.george at normalesup.org
Thu Oct 25 21:36:17 CEST 2012


Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
 doc/filters.texi         |    3 +++
 libavfilter/avf_concat.c |    7 ++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index 93fdcec..041ea10 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -4643,6 +4643,9 @@ streams in each segment. Default is 1.
 Set the number of output audio streams, that is also the number of video
 streams in each segment. Default is 0.
 
+ at item unsafe
+Activate unsafe mode: do not fail if segments have a different format.
+
 @end table
 
 The filter has @var{v}+ at var{a} outputs: first @var{v} video outputs, then
diff --git a/libavfilter/avf_concat.c b/libavfilter/avf_concat.c
index b3aed3c..f13e8d0 100644
--- a/libavfilter/avf_concat.c
+++ b/libavfilter/avf_concat.c
@@ -42,6 +42,7 @@ typedef struct {
     unsigned cur_idx; /**< index of the first input of current segment */
     int64_t delta_ts; /**< timestamp to add to produce output timestamps */
     unsigned nb_in_active; /**< number of active inputs in current segment */
+    unsigned unsafe;
     struct concat_in {
         int64_t pts;
         int64_t nb_frames;
@@ -64,6 +65,9 @@ static const AVOption concat_options[] = {
     { "a", "specify the number of audio streams",
       OFFSET(nb_streams[AVMEDIA_TYPE_AUDIO]),
       AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, A|F},
+    { "unsafe", "enable unsafe mode",
+      OFFSET(unsafe),
+      AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, A|A|F},
     { 0 }
 };
 
@@ -143,7 +147,8 @@ static int config_output(AVFilterLink *outlink)
                    ctx->input_pads[out_no].name, outlink->w, outlink->h,
                    outlink->sample_aspect_ratio.num,
                    outlink->sample_aspect_ratio.den);
-            return AVERROR(EINVAL);
+            if (!cat->unsafe)
+                return AVERROR(EINVAL);
         }
     }
 
-- 
1.7.10.4



More information about the ffmpeg-devel mailing list