diff --git a/plugins/samplesource/filesource/filesourcegui.cpp b/plugins/samplesource/filesource/filesourcegui.cpp
index 1de88aa7f..d679ae889 100644
--- a/plugins/samplesource/filesource/filesourcegui.cpp
+++ b/plugins/samplesource/filesource/filesourcegui.cpp
@@ -175,6 +175,7 @@ bool FileSourceGui::handleMessage(const Message& message)
else if (FileSourceInput::MsgReportFileSourceStreamData::match(message))
{
m_sampleRate = ((FileSourceInput::MsgReportFileSourceStreamData&)message).getSampleRate();
+ m_sampleSize = ((FileSourceInput::MsgReportFileSourceStreamData&)message).getSampleSize();
m_centerFrequency = ((FileSourceInput::MsgReportFileSourceStreamData&)message).getCenterFrequency();
m_startingTimeStamp = ((FileSourceInput::MsgReportFileSourceStreamData&)message).getStartingTimeStamp();
m_recordLength = ((FileSourceInput::MsgReportFileSourceStreamData&)message).getRecordLength();
@@ -312,6 +313,7 @@ void FileSourceGui::updateWithStreamData()
{
ui->centerFrequency->setValue(m_centerFrequency/1000);
ui->sampleRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
+ ui->sampleSizeText->setText(tr("%1b").arg(m_sampleSize));
ui->play->setEnabled(m_acquisition);
QTime recordLength(0, 0, 0, 0);
recordLength = recordLength.addSecs(m_recordLength);
diff --git a/plugins/samplesource/filesource/filesourcegui.h b/plugins/samplesource/filesource/filesourcegui.h
index e5a040346..a580d528f 100644
--- a/plugins/samplesource/filesource/filesourcegui.h
+++ b/plugins/samplesource/filesource/filesourcegui.h
@@ -63,6 +63,7 @@ private:
bool m_acquisition;
QString m_fileName;
int m_sampleRate;
+ quint32 m_sampleSize;
quint64 m_centerFrequency;
quint32 m_recordLength;
std::time_t m_startingTimeStamp;
diff --git a/plugins/samplesource/filesource/filesourcegui.ui b/plugins/samplesource/filesource/filesourcegui.ui
index f33b1e2a7..20ec4bc82 100644
--- a/plugins/samplesource/filesource/filesourcegui.ui
+++ b/plugins/samplesource/filesource/filesourcegui.ui
@@ -6,7 +6,7 @@
0
0
- 246
+ 300
190
@@ -231,16 +231,56 @@
-
+
+
+ 40
+ 0
+
+
8
- Record sample rate
+ Record sample rate (kS/s)
- 0k
+ 00000k
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+
+ 22
+ 0
+
+
+
+
+ 8
+
+
+
+ Record sample size (bits)
+
+
+ 00b
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
diff --git a/plugins/samplesource/filesource/filesourceinput.cpp b/plugins/samplesource/filesource/filesourceinput.cpp
index c48f966f4..354a0ad65 100644
--- a/plugins/samplesource/filesource/filesourceinput.cpp
+++ b/plugins/samplesource/filesource/filesourceinput.cpp
@@ -99,6 +99,7 @@ void FileSourceInput::openFileStream()
<< " length: " << m_recordLength << " seconds";
MsgReportFileSourceStreamData *report = MsgReportFileSourceStreamData::create(m_sampleRate,
+ m_sampleSize,
m_centerFrequency,
m_startingTimeStamp,
m_recordLength); // file stream data
diff --git a/plugins/samplesource/filesource/filesourceinput.h b/plugins/samplesource/filesource/filesourceinput.h
index c56d59bba..92df61eab 100644
--- a/plugins/samplesource/filesource/filesourceinput.h
+++ b/plugins/samplesource/filesource/filesourceinput.h
@@ -173,30 +173,35 @@ public:
public:
int getSampleRate() const { return m_sampleRate; }
+ quint32 getSampleSize() const { return m_sampleSize; }
quint64 getCenterFrequency() const { return m_centerFrequency; }
std::time_t getStartingTimeStamp() const { return m_startingTimeStamp; }
quint32 getRecordLength() const { return m_recordLength; }
static MsgReportFileSourceStreamData* create(int sampleRate,
+ quint32 sampleSize,
quint64 centerFrequency,
std::time_t startingTimeStamp,
quint32 recordLength)
{
- return new MsgReportFileSourceStreamData(sampleRate, centerFrequency, startingTimeStamp, recordLength);
+ return new MsgReportFileSourceStreamData(sampleRate, sampleSize, centerFrequency, startingTimeStamp, recordLength);
}
protected:
int m_sampleRate;
+ quint32 m_sampleSize;
quint64 m_centerFrequency;
std::time_t m_startingTimeStamp;
quint32 m_recordLength;
MsgReportFileSourceStreamData(int sampleRate,
+ quint32 sampleSize,
quint64 centerFrequency,
std::time_t startingTimeStamp,
quint32 recordLength) :
Message(),
m_sampleRate(sampleRate),
+ m_sampleSize(sampleSize),
m_centerFrequency(centerFrequency),
m_startingTimeStamp(startingTimeStamp),
m_recordLength(recordLength)
diff --git a/sdrbase/dsp/filerecord.cpp b/sdrbase/dsp/filerecord.cpp
index e2e5606e3..469743b91 100644
--- a/sdrbase/dsp/filerecord.cpp
+++ b/sdrbase/dsp/filerecord.cpp
@@ -136,7 +136,8 @@ void FileRecord::readHeader(std::ifstream& sampleFile, Header& header)
sampleFile.read((char *) &(header.centerFrequency), sizeof(quint64));
sampleFile.read((char *) &(header.startTimeStamp), sizeof(std::time_t));
sampleFile.read((char *) &(header.sampleSize), sizeof(quint32));
- if ((header.sampleSize != 16) || (header.sampleSize != 24)) { // assume 16 bits if garbage (old I/Q file)
+ if ((header.sampleSize != 16) && (header.sampleSize != 24)) { // assume 16 bits if garbage (old I/Q file)
header.sampleSize = 16;
}
+ qDebug("FileRecord::readHeader: sampleSize: %u", header.sampleSize);
}