return AVERROR_PATCHWELCOME;
}
- samples = track_size * 8 / st->codecpar->bits_per_coded_sample;
+ samples = track_size * 8LL / st->codecpar->bits_per_coded_sample;
//use audio packet size to determine video standard
//for NTSC we have one 8008-sample audio frame per five video frames
avpriv_set_pts_info(s->streams[0], 64, 1, 25);
}
+ if (av_popcount(channels) * (uint64_t)track_size > INT_MAX)
+ return AVERROR_INVALIDDATA;
//TODO: warning if track mask != (1 << channels) - 1?
ret = av_popcount(channels) * track_size;
return ret;
}
-AVInputFormat ff_lxf_demuxer = {
+const AVInputFormat ff_lxf_demuxer = {
.name = "lxf",
.long_name = NULL_IF_CONFIG_SMALL("VR native stream (LXF)"),
.priv_data_size = sizeof(LXFDemuxContext),