2018-12-07 13:27 GMT+01:00, Peter Ross <pr...@xvid.org>: > On Fri, Dec 07, 2018 at 12:06:36PM +0200, Artyom Lebedev wrote: >> This fixes bug which prevents from proper muxing-in KLV stream into >> mpeg-ts. >> >> mpegtsenc.c:1526 >> >> char *side_data = NULL; >> int stream_id = -1; >> >> side_data = av_packet_get_side_data(pkt, >> AV_PKT_DATA_MPEGTS_STREAM_ID, >> &side_data_size); >> if (side_data) >> stream_id = side_data[0]; >> >> One-byte stream ID is read from "char *" array to integer making it to >> sign-extend which is not correct. Although it writes it correctly to >> stream, >> since it is treated as one byte again, but it fails with some condition >> checks, e.g. in mpegtsenc.c:1278: >> >> if (stream_id == 0xbd) /* asynchronous KLV */ >> pts = dts = AV_NOPTS_VALUE; >> stream_id value in such case is 0xffffffbd. >> >> Fix should be changing side_data type from "char *" to "uint8_t *". > > looks good. i will apply if no one else rejects.
Please mention ticket #7597. Carl Eugen _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel