2017-09-26 23:25:55 -04:00
|
|
|
// Copyright (c) Charles J. Cliffe
|
|
|
|
|
// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
|
|
|
|
|
|
#include "AudioSinkFileThread.h"
|
|
|
|
|
|
|
|
|
|
AudioSinkFileThread::AudioSinkFileThread() : AudioSinkThread() {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AudioSinkFileThread::~AudioSinkFileThread() {
|
2017-10-09 20:07:40 -04:00
|
|
|
if (audioFileHandler != nullptr) {
|
|
|
|
|
audioFileHandler->closeFile();
|
2017-09-26 23:25:55 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AudioSinkFileThread::sink(AudioThreadInputPtr input) {
|
2017-10-09 20:07:40 -04:00
|
|
|
if (!audioFileHandler) {
|
2017-09-26 23:25:55 -04:00
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// forward to output file handler
|
2017-10-09 20:07:40 -04:00
|
|
|
audioFileHandler->writeToFile(input);
|
2017-09-26 23:25:55 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AudioSinkFileThread::inputChanged(AudioThreadInput oldProps, AudioThreadInputPtr newProps) {
|
|
|
|
|
// close, set new parameters, adjust file name sequence and re-open?
|
2017-10-09 20:07:40 -04:00
|
|
|
if (!audioFileHandler) {
|
2017-09-26 23:25:55 -04:00
|
|
|
return;
|
|
|
|
|
}
|
2017-10-09 20:07:40 -04:00
|
|
|
|
|
|
|
|
audioFileHandler->closeFile();
|
2017-09-26 23:25:55 -04:00
|
|
|
}
|
|
|
|
|
|
2017-10-09 20:07:40 -04:00
|
|
|
void AudioSinkFileThread::setAudioFileHandler(AudioFile * output) {
|
|
|
|
|
audioFileHandler = output;
|
2017-09-26 23:25:55 -04:00
|
|
|
}
|