case 0:
st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
st->codec->codec_id = av_codec_get_id((const AVCodecTag * const []) {
- ff_codec_bmp_tags,
ff_nut_video_tags,
+ ff_codec_bmp_tags,
0
},
tmp);
break;
case 1:
st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
- st->codec->codec_id = ff_codec_get_id(ff_codec_wav_tags, tmp);
+ st->codec->codec_id = av_codec_get_id((const AVCodecTag * const []) {
+ ff_nut_audio_tags,
+ ff_codec_wav_tags,
+ 0
+ },
+ tmp);
break;
case 2:
st->codec->codec_type = AVMEDIA_TYPE_SUBTITLE;
if (coded_pts < (1 << stc->msb_pts_shift)) {
*pts = ff_lsb2full(stc, coded_pts);
} else
- *pts = coded_pts - (1 << stc->msb_pts_shift);
+ *pts = coded_pts - (1LL << stc->msb_pts_shift);
} else
*pts = stc->last_pts + pts_delta;
if (flags & FLAG_SIZE_MSB)
return 1;
}
- av_new_packet(pkt, size + nut->header_len[header_idx]);
+ if (av_new_packet(pkt, size + nut->header_len[header_idx]) < 0)
+ return AVERROR(ENOMEM);
memcpy(pkt->data, nut->header[header_idx], nut->header_len[header_idx]);
pkt->pos = avio_tell(bc); // FIXME
avio_read(bc, pkt->data + nut->header_len[header_idx], size);
.read_close = nut_read_close,
.read_seek = read_seek,
.extensions = "nut",
- .codec_tag = (const AVCodecTag * const []) {
- ff_codec_bmp_tags, ff_nut_video_tags, ff_codec_wav_tags,
- ff_nut_subtitle_tags, 0
- },
+ .codec_tag = ff_nut_codec_tags,
};