mirror of https://git.ffmpeg.org/ffmpeg.git
lavfi/concat: implement unsafe mode.
This commit is contained in:
parent
c4a36b6f70
commit
b0e2f4a757
|
@ -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
|
Set the number of output audio streams, that is also the number of video
|
||||||
streams in each segment. Default is 0.
|
streams in each segment. Default is 0.
|
||||||
|
|
||||||
|
@item unsafe
|
||||||
|
Activate unsafe mode: do not fail if segments have a different format.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
The filter has @var{v}+@var{a} outputs: first @var{v} video outputs, then
|
The filter has @var{v}+@var{a} outputs: first @var{v} video outputs, then
|
||||||
|
|
|
@ -42,6 +42,7 @@ typedef struct {
|
||||||
unsigned cur_idx; /**< index of the first input of current segment */
|
unsigned cur_idx; /**< index of the first input of current segment */
|
||||||
int64_t delta_ts; /**< timestamp to add to produce output timestamps */
|
int64_t delta_ts; /**< timestamp to add to produce output timestamps */
|
||||||
unsigned nb_in_active; /**< number of active inputs in current segment */
|
unsigned nb_in_active; /**< number of active inputs in current segment */
|
||||||
|
unsigned unsafe;
|
||||||
struct concat_in {
|
struct concat_in {
|
||||||
int64_t pts;
|
int64_t pts;
|
||||||
int64_t nb_frames;
|
int64_t nb_frames;
|
||||||
|
@ -64,6 +65,9 @@ static const AVOption concat_options[] = {
|
||||||
{ "a", "specify the number of audio streams",
|
{ "a", "specify the number of audio streams",
|
||||||
OFFSET(nb_streams[AVMEDIA_TYPE_AUDIO]),
|
OFFSET(nb_streams[AVMEDIA_TYPE_AUDIO]),
|
||||||
AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, A|F},
|
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 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -143,7 +147,8 @@ static int config_output(AVFilterLink *outlink)
|
||||||
ctx->input_pads[out_no].name, outlink->w, outlink->h,
|
ctx->input_pads[out_no].name, outlink->w, outlink->h,
|
||||||
outlink->sample_aspect_ratio.num,
|
outlink->sample_aspect_ratio.num,
|
||||||
outlink->sample_aspect_ratio.den);
|
outlink->sample_aspect_ratio.den);
|
||||||
return AVERROR(EINVAL);
|
if (!cat->unsafe)
|
||||||
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue