1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-09 17:35:45 -04:00

File Input: fixed wrong times display on file seek when sample count exceeds int limit (use of int64 and uint64)

This commit is contained in:
f4exb
2018-10-12 17:05:03 +02:00
parent a7b954dbf8
commit 678af4e186
9 changed files with 41 additions and 42 deletions
@@ -144,9 +144,9 @@ void FileSourceInput::seekFileStream(int seekPercentage)
if ((m_ifstream.is_open()) && m_fileSourceThread && !m_fileSourceThread->isRunning())
{
int seekPoint = ((m_recordLength * seekPercentage) / 100) * m_sampleRate;
quint64 seekPoint = ((m_recordLength * seekPercentage) / 100) * m_sampleRate;
m_fileSourceThread->setSamplesCount(seekPoint);
seekPoint *= 4; // + sizeof(FileSink::Header)
seekPoint *= (m_sampleSize == 24 ? 8 : 4); // + sizeof(FileSink::Header)
m_ifstream.clear();
m_ifstream.seekg(seekPoint + sizeof(FileRecord::Header), std::ios::beg);
}
@@ -276,7 +276,7 @@ void FileSourceInput::setCenterFrequency(qint64 centerFrequency)
}
}
std::time_t FileSourceInput::getStartingTimeStamp() const
quint64 FileSourceInput::getStartingTimeStamp() const
{
return m_startingTimeStamp;
}