[FFmpeg-devel] [PATCH] avformat/mpegtsenc: correct bitstream check
Marton Balint
cus at passwd.hu
Sat Mar 16 10:32:17 EET 2024
On Sat, 16 Mar 2024, Gyan Doshi wrote:
> 8559cce3c3 made the bitstream check generic using a LUT.
> However, one of the comparisons which involves a bitwise AND
> and equality check is faulty due to operator precedence.
>
> First reported and analysed at
> https://github.com/streamlink/streamlink/issues/5876
>
> Fixes #10908
> ---
> libavformat/mpegtsenc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
> index 06e88e9879..b8efc535a7 100644
> --- a/libavformat/mpegtsenc.c
> +++ b/libavformat/mpegtsenc.c
> @@ -2319,7 +2319,7 @@ static int mpegts_check_bitstream(AVFormatContext *s, AVStream *st,
> pkt->size >= 5 && AV_RB32(pkt->data) != 0x0000001 &&
> (AV_RB24(pkt->data) != 0x000001 ||
> (st->codecpar->extradata_size > 0 &&
> - (st->codecpar->extradata[0] & e->mask == e->value))))
> + ((st->codecpar->extradata[0] & e->mask) == e->value))))
> return ff_stream_add_bitstream_filter(st, e->bsf_name, NULL);
> }
> return 1;
> --
LGTM, thanks.
Marton
More information about the ffmpeg-devel
mailing list