.version = LIBAVUTIL_VERSION_INT,
};
-AVInputFormat ff_av1_demuxer = {
+const AVInputFormat ff_av1_demuxer = {
.name = "av1",
.long_name = NULL_IF_CONFIG_SMALL("AV1 Annex B"),
.priv_data_size = sizeof(AnnexBContext),
ret = read_obu_with_size(p->buf + cnt, p->buf_size - cnt, &obu_size, &type);
if (ret < 0 || obu_size <= 0)
return 0;
- cnt += ret;
+ cnt += FFMIN(ret, p->buf_size - cnt);
ret = get_score(type, &seq);
if (ret >= 0)
static int obu_get_packet(AVFormatContext *s, AVPacket *pkt)
{
ObuContext *c = s->priv_data;
- uint8_t header[MAX_OBU_HEADER_SIZE];
+ uint8_t header[MAX_OBU_HEADER_SIZE + AV_INPUT_BUFFER_PADDING_SIZE];
int64_t obu_size;
int size = av_fifo_space(c->fifo);
int ret, len, type;
.version = LIBAVUTIL_VERSION_INT,
};
-AVInputFormat ff_obu_demuxer = {
+const AVInputFormat ff_obu_demuxer = {
.name = "obu",
.long_name = NULL_IF_CONFIG_SMALL("AV1 low overhead OBU"),
.priv_data_size = sizeof(ObuContext),