[FFmpeg-devel] [PATCH] avformat/hlsenc: copy codec_tag when stream copy
Steven Liu
lingjiujianke at gmail.com
Wed Jul 5 06:21:28 EEST 2017
2017-07-04 11:24 GMT+08:00 Steven Liu <lq at chinaffmpeg.org>:
> when use fmp4 segment type in hls and use codec copy,
> there have an error message.
> error message:
> [mp4 @ 0x25df020] Tag avc1 incompatible with output codec id '28' ([33][0][0][0])
> [hls @ 0x2615c80] Some of the provided format options in '(null)' are not recognized
> Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
> this patch can fix it.
>
> Signed-off-by: Liu Qi <w_liuqi at kingsoft.com>
> ---
> libavformat/hlsenc.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
> index a49b594..4c94ffd 100644
> --- a/libavformat/hlsenc.c
> +++ b/libavformat/hlsenc.c
> @@ -566,6 +566,14 @@ static int hls_mux_init(AVFormatContext *s)
> if (!(st = avformat_new_stream(loc, NULL)))
> return AVERROR(ENOMEM);
> avcodec_parameters_copy(st->codecpar, s->streams[i]->codecpar);
> + if (!oc->oformat->codec_tag ||
> + av_codec_get_id (oc->oformat->codec_tag, s->streams[i]->codecpar->codec_tag) == st->codecpar->codec_id ||
> + av_codec_get_tag(oc->oformat->codec_tag, s->streams[i]->codecpar->codec_id) <= 0) {
> + st->codecpar->codec_tag = s->streams[i]->codecpar->codec_tag;
> + } else {
> + st->codecpar->codec_tag = 0;
> + }
> +
> st->sample_aspect_ratio = s->streams[i]->sample_aspect_ratio;
> st->time_base = s->streams[i]->time_base;
> av_dict_copy(&st->metadata, s->streams[i]->metadata, 0);
> --
> 1.7.1
>
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
applied!
Thanks
More information about the ffmpeg-devel
mailing list