[FFmpeg-devel] [PATCH v3 1/2] libavformat/oggparseflac: Decode metadata packets. Fixes: #10364
Romain Beauxis
toots at rastageeks.org
Mon May 15 00:43:53 EEST 2023
Le dim. 14 mai 2023 à 16:40, <toots at rastageeks.org> a écrit :
>
> From: Romain Beauxis <toots at rastageeks.org>
>
> This is the third version on a series of patches improving ffmpeg support for
> ogg chained streams.
>
> Reproduction steps for the issue fixed with patch are included in this bug
> report: https://trac.ffmpeg.org/ticket/10363
Sorry correct link is: https://trac.ffmpeg.org/ticket/10364
>
> ---
> libavformat/oggparseflac.c | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/libavformat/oggparseflac.c b/libavformat/oggparseflac.c
> index eef6e09927..1dd292483d 100644
> --- a/libavformat/oggparseflac.c
> +++ b/libavformat/oggparseflac.c
> @@ -126,10 +126,30 @@ fail:
> return ret;
> }
>
> +static int flac_packet(AVFormatContext *s, int idx)
> +{
> + struct ogg *ogg = s->priv_data;
> + struct ogg_stream *os = ogg->streams + idx;
> + int ret;
> +
> + if (os->psize > 4 && (*(os->buf + os->pstart) & 0x7F) == FLAC_METADATA_TYPE_VORBIS_COMMENT) {
> + AVStream *st = s->streams[idx];
> + av_dict_free(&st->metadata);
> + ret = ff_vorbis_stream_comment(s, st, os->buf + os->pstart + 4,
> + os->psize - 4);
> +
> + if (ret < 0) return ret;
> + }
> +
> + return 0;
> +}
> +
> +
> const struct ogg_codec ff_flac_codec = {
> .magic = "\177FLAC",
> .magicsize = 5,
> .header = flac_header,
> + .packet = flac_packet,
> .nb_header = 2,
> };
>
> --
> 2.37.1 (Apple Git-137.1)
>
More information about the ffmpeg-devel
mailing list