Commit 840df1f1 authored by Jörn Heusipp's avatar Jörn Heusipp Committed by Josh de Kock

libopenmpt: set stream duration and fix time base

Fix the confusion around the used time base.

Check size returned from avio_size()
Signed-off-by: 's avatarJörn Heusipp <osmanx@problemloesungsmaschine.de>
Signed-off-by: 's avatarJosh de Kock <josh@itanimul.li>
parent 4ed6edac
......@@ -73,6 +73,8 @@ static int read_header_openmpt(AVFormatContext *s)
AVStream *st;
OpenMPTContext *openmpt = s->priv_data;
int64_t size = avio_size(s->pb);
if (!size)
return AVERROR_INVALIDDATA;
char *buf = av_malloc(size);
int ret;
......@@ -118,9 +120,8 @@ static int read_header_openmpt(AVFormatContext *s)
openmpt->module = NULL;
return AVERROR(ENOMEM);
}
avpriv_set_pts_info(st, 64, 1, 1000);
if (st->duration > 0)
st->duration = llrint(openmpt->duration*AV_TIME_BASE);
avpriv_set_pts_info(st, 64, 1, AV_TIME_BASE);
st->duration = llrint(openmpt->duration*AV_TIME_BASE);
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
st->codecpar->codec_id = AV_NE(AV_CODEC_ID_PCM_F32BE, AV_CODEC_ID_PCM_F32LE);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment