Commit 2e1347ab authored by Max Kellermann's avatar Max Kellermann

decoder/audiofile: split audiofile_get_duration()

parent 9ddb5931
......@@ -54,17 +54,24 @@ struct AudioFileInputStream {
};
gcc_pure
static double
audiofile_get_duration(AFfilehandle fh)
{
double frame_count = afGetFrameCount(fh, AF_DEFAULT_TRACK);
double rate = afGetRate(fh, AF_DEFAULT_TRACK);
return frame_count / rate;
}
gcc_pure
static int
audiofile_get_duration(Path path_fs)
{
int total_time;
AFfilehandle af_fp = afOpenFile(path_fs.c_str(), "r", nullptr);
if (af_fp == AF_NULL_FILEHANDLE) {
return -1;
}
total_time = (int)
((double)afGetFrameCount(af_fp, AF_DEFAULT_TRACK)
/ afGetRate(af_fp, AF_DEFAULT_TRACK));
int total_time = int(audiofile_get_duration(af_fp));
afCloseFile(af_fp);
return total_time;
}
......
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