1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-02 22:14:45 -04:00

File source plugin: added total record time in UI

This commit is contained in:
f4exb
2016-02-25 02:30:50 +01:00
parent 58d82139ab
commit d5ddd5c9a1
5 changed files with 70 additions and 10 deletions
@@ -78,6 +78,7 @@ FileSourceInput::FileSourceInput(const QTimer& masterTimer) :
m_fileName("..."),
m_sampleRate(0),
m_centerFrequency(0),
m_recordLength(0),
m_startingTimeStamp(0),
m_masterTimer(masterTimer)
{
@@ -90,15 +91,15 @@ FileSourceInput::~FileSourceInput()
void FileSourceInput::openFileStream()
{
qDebug() << "FileSourceInput::openFileStream: " << m_fileName.toStdString().c_str();
//stopInput();
if (m_ifstream.is_open()) {
m_ifstream.close();
}
m_ifstream.open(m_fileName.toStdString().c_str(), std::ios::binary);
m_ifstream.open(m_fileName.toStdString().c_str(), std::ios::binary | std::ios::ate);
quint64 fileSize = m_ifstream.tellg();
m_ifstream.seekg(0,std::ios_base::beg);
FileSink::Header header;
FileSink::readHeader(m_ifstream, header);
@@ -106,7 +107,20 @@ void FileSourceInput::openFileStream()
m_centerFrequency = header.centerFrequency;
m_startingTimeStamp = header.startTimeStamp;
MsgReportFileSourceStreamData *report = MsgReportFileSourceStreamData::create(m_sampleRate, m_centerFrequency, m_startingTimeStamp); // file stream data
if (fileSize > sizeof(FileSink::Header)) {
m_recordLength = (fileSize - sizeof(FileSink::Header)) / (4 * m_sampleRate);
} else {
m_recordLength = 0;
}
qDebug() << "FileSourceInput::openFileStream: " << m_fileName.toStdString().c_str()
<< " fileSize: " << fileSize << "bytes"
<< " length: " << m_recordLength << " seconds";
MsgReportFileSourceStreamData *report = MsgReportFileSourceStreamData::create(m_sampleRate,
m_centerFrequency,
m_startingTimeStamp,
m_recordLength); // file stream data
getOutputMessageQueueToGUI()->push(report);
}