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

File source: play/pause button implemented with stream timing update

This commit is contained in:
f4exb
2015-08-06 01:14:44 +02:00
parent 0603bb41ca
commit 047e9f3e24
5 changed files with 87 additions and 8 deletions
@@ -28,8 +28,10 @@
MESSAGE_CLASS_DEFINITION(FileSourceInput::MsgConfigureFileSource, Message)
MESSAGE_CLASS_DEFINITION(FileSourceInput::MsgConfigureFileSourceName, Message)
MESSAGE_CLASS_DEFINITION(FileSourceInput::MsgConfigureFileSourceWork, Message)
MESSAGE_CLASS_DEFINITION(FileSourceInput::MsgReportFileSourceAcquisition, Message)
MESSAGE_CLASS_DEFINITION(FileSourceInput::MsgReportFileSourceStreamData, Message)
MESSAGE_CLASS_DEFINITION(FileSourceInput::MsgReportFileSourceStreamTiming, Message)
FileSourceInput::Settings::Settings() :
m_fileName("./test.sdriq")
@@ -187,14 +189,36 @@ std::time_t FileSourceInput::getStartingTimeStamp() const
bool FileSourceInput::handleMessage(Message* message)
{
if(MsgConfigureFileSourceName::match(message)) {
std::cerr << "FileSourceInput::handleMessage: MsgConfigureFileName" << std::endl;
if (MsgConfigureFileSourceName::match(message))
{
//std::cerr << "FileSourceInput::handleMessage: MsgConfigureFileName" << std::endl;
MsgConfigureFileSourceName* conf = (MsgConfigureFileSourceName*) message;
m_fileName = conf->getFileName();
openFileStream();
message->completed();
return true;
} else {
}
else if (MsgConfigureFileSourceWork::match(message))
{
//std::cerr << "FileSourceInput::handleMessage: MsgConfigureFileSourceWork: ";
MsgConfigureFileSourceWork* conf = (MsgConfigureFileSourceWork*) message;
bool working = conf->isWorking();
//std::cerr << (working ? "working" : "not working") << std::endl;
if (m_fileSourceThread != 0)
{
if (working) {
m_fileSourceThread->startWork();
} else {
m_fileSourceThread->stopWork();
}
MsgReportFileSourceStreamTiming::create(m_fileSourceThread->getSamplesCount())->submit(m_guiMessageQueue);
}
message->completed();
return true;
}
else
{
return false;
}
}