[FFmpeg-devel] [PATCH 2/3] lavf/hls: Add missed side data/disposition

mypopy at gmail.com mypopy at gmail.com
Thu Jun 18 06:52:58 EEST 2020


On Thu, Jun 4, 2020 at 10:39 PM Jun Zhao <mypopydev at gmail.com> wrote:
>
> From: vacingfang <vacingfang at tencent.com>
>
> hls demuxer get the strem info form sub-stream, but missed sida
> data/disposition part, e,g, missed the DOVI sida data when the
> stream is Dolby Vision streams.
>
> Signed-off-by: vacingfang <vacingfang at tencent.com>
> ---
>  libavformat/hls.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> diff --git a/libavformat/hls.c b/libavformat/hls.c
> index 3e35d15..c9b8fb7 100644
> --- a/libavformat/hls.c
> +++ b/libavformat/hls.c
> @@ -1740,6 +1740,20 @@ static int set_stream_info_from_input_stream(AVStream *st, struct playlist *pls,
>      else
>          avpriv_set_pts_info(st, ist->pts_wrap_bits, ist->time_base.num, ist->time_base.den);
>
> +    // copy disposition
> +    st->disposition = ist->disposition;
> +
> +    // copy side data
> +    for (int i = 0; i < ist->nb_side_data; i++) {
> +        const AVPacketSideData *sd_src = &ist->side_data[i];
> +        uint8_t *dst_data;
> +
> +        dst_data = av_stream_new_side_data(st, sd_src->type, sd_src->size);
> +        if (!dst_data)
> +            return AVERROR(ENOMEM);
> +        memcpy(dst_data, sd_src->data, sd_src->size);
> +    }
> +
>      st->internal->need_context_update = 1;
>
>      return 0;
> --
> 2.7.4
>
Ping


More information about the ffmpeg-devel mailing list