Demod instance start/stop recording setup

This commit is contained in:
Charles J. Cliffe
2017-10-09 20:07:40 -04:00
parent c202d99a2a
commit f8e51df8cd
8 changed files with 108 additions and 24 deletions
+9 -8
View File
@@ -8,27 +8,28 @@ AudioSinkFileThread::AudioSinkFileThread() : AudioSinkThread() {
}
AudioSinkFileThread::~AudioSinkFileThread() {
if (outputFileHandler != nullptr) {
outputFileHandler->closeFile();
if (audioFileHandler != nullptr) {
audioFileHandler->closeFile();
}
}
void AudioSinkFileThread::sink(AudioThreadInputPtr input) {
if (!outputFileHandler) {
if (!audioFileHandler) {
return;
}
// forward to output file handler
outputFileHandler->writeToFile(input);
audioFileHandler->writeToFile(input);
}
void AudioSinkFileThread::inputChanged(AudioThreadInput oldProps, AudioThreadInputPtr newProps) {
// close, set new parameters, adjust file name sequence and re-open?
if (!outputFileHandler) {
if (!audioFileHandler) {
return;
}
audioFileHandler->closeFile();
}
void AudioSinkFileThread::setOutput(AudioFile * output) {
outputFileHandler = output;
outputFileHandler->setOutputFileName(sinkName);
void AudioSinkFileThread::setAudioFileHandler(AudioFile * output) {
audioFileHandler = output;
}
+2 -2
View File
@@ -15,10 +15,10 @@ public:
void sink(AudioThreadInputPtr input);
void inputChanged(AudioThreadInput oldProps, AudioThreadInputPtr newProps);
void setOutput(AudioFile *output);
void setAudioFileHandler(AudioFile *output);
protected:
AudioFile *outputFileHandler = nullptr;
AudioFile *audioFileHandler = nullptr;
};
+2 -9
View File
@@ -42,6 +42,8 @@ void AudioSinkThread::run() {
inputRef.inputRate = inp->inputRate;
inputRef.sampleRate = inp->sampleRate;
}
sink(inp);
}
}
@@ -49,12 +51,3 @@ void AudioSinkThread::terminate() {
IOThread::terminate();
inputQueuePtr->flush();
}
void AudioSinkThread::setSinkName(std::string sinkName_in) {
sinkName = sinkName_in;
}
std::string AudioSinkThread::getSinkName() {
return sinkName;
}
-4
View File
@@ -18,12 +18,8 @@ public:
virtual void sink(AudioThreadInputPtr input) = 0;
virtual void inputChanged(AudioThreadInput oldProps, AudioThreadInputPtr newProps) = 0;
virtual void setSinkName(std::string sinkName_in);
virtual std::string getSinkName();
protected:
std::recursive_mutex m_mutex;
AudioThreadInputQueuePtr inputQueuePtr;
std::string sinkName;
};