avformat/pp_bnk: allow seeking to start

Allows "ffplay -loop" to work.

Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
This commit is contained in:
Zane van Iperen 2021-03-23 21:51:57 +10:00
parent ea9732c5d6
commit 64fb63411d
No known key found for this signature in database
GPG Key ID: 68616B2D8AC4DCC5

View File

@ -313,6 +313,25 @@ static int pp_bnk_read_close(AVFormatContext *s)
return 0;
}
static int pp_bnk_seek(AVFormatContext *s, int stream_index,
int64_t pts, int flags)
{
PPBnkCtx *ctx = s->priv_data;
if (pts != 0)
return AVERROR(EINVAL);
if (ctx->is_music) {
av_assert0(stream_index == 0);
ctx->tracks[0].bytes_read = 0;
ctx->tracks[1].bytes_read = 0;
} else {
ctx->tracks[stream_index].bytes_read = 0;
}
return 0;
}
AVInputFormat ff_pp_bnk_demuxer = {
.name = "pp_bnk",
.long_name = NULL_IF_CONFIG_SMALL("Pro Pinball Series Soundbank"),
@ -320,5 +339,6 @@ AVInputFormat ff_pp_bnk_demuxer = {
.read_probe = pp_bnk_probe,
.read_header = pp_bnk_read_header,
.read_packet = pp_bnk_read_packet,
.read_close = pp_bnk_read_close
.read_close = pp_bnk_read_close,
.read_seek = pp_bnk_seek,
};