kopia lustrzana https://github.com/markondej/fm_transmitter
Bug fix
rodzic
0fa8f4f08a
commit
5a120f53c1
24
main.cpp
24
main.cpp
|
@ -40,6 +40,14 @@ using namespace std;
|
|||
|
||||
Transmitter* transmitter = NULL;
|
||||
|
||||
AudioFormat* getFormat(string filename) {
|
||||
bool doStop = false;
|
||||
WaveReader* reader = new WaveReader(filename, doStop);
|
||||
AudioFormat* format = reader->getFormat();
|
||||
delete reader;
|
||||
return format;
|
||||
}
|
||||
|
||||
void sigIntHandler(int sigNum)
|
||||
{
|
||||
if (transmitter != NULL) {
|
||||
|
@ -80,12 +88,16 @@ int main(int argc, char** argv)
|
|||
try {
|
||||
transmitter = Transmitter::getInstance();
|
||||
|
||||
AudioFormat* format = Transmitter::getFormat(filename);
|
||||
cout << "Playing: " << ((filename != "-") ? filename : "stdin") << ", "
|
||||
<< format->sampleRate << " Hz, "
|
||||
<< format->bitsPerSample << " bits, "
|
||||
<< ((format->channels > 0x01) ? "stereo" : "mono") << endl;
|
||||
delete format;
|
||||
if (filename != "-") {
|
||||
AudioFormat* format = getFormat(filename);
|
||||
cout << "Playing: " << filename << ", "
|
||||
<< format->sampleRate << " Hz, "
|
||||
<< format->bitsPerSample << " bits, "
|
||||
<< ((format->channels > 0x01) ? "stereo" : "mono") << endl;
|
||||
delete format;
|
||||
} else {
|
||||
cout << "Playing: STDIN" << endl;
|
||||
}
|
||||
|
||||
transmitter->play(filename, frequency, loop);
|
||||
} catch (exception &error) {
|
||||
|
|
|
@ -244,17 +244,6 @@ void* Transmitter::transmit(void* params)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
AudioFormat* Transmitter::getFormat(string filename)
|
||||
{
|
||||
bool forceStop = false;
|
||||
|
||||
WaveReader* reader = new WaveReader(filename, forceStop);
|
||||
AudioFormat* format = reader->getFormat();
|
||||
delete reader;
|
||||
|
||||
return format;
|
||||
}
|
||||
|
||||
void Transmitter::stop()
|
||||
{
|
||||
doStop = true;
|
||||
|
|
|
@ -52,8 +52,7 @@ class Transmitter
|
|||
void play(string filename, double frequency, bool loop);
|
||||
void stop();
|
||||
|
||||
static Transmitter* getInstance();
|
||||
static AudioFormat* getFormat(string filename);
|
||||
static Transmitter* getInstance();
|
||||
private:
|
||||
Transmitter();
|
||||
|
||||
|
|
|
@ -52,6 +52,7 @@ WaveReader::WaveReader(string filename, bool &forceStop) :
|
|||
if (!filename.empty()) {
|
||||
fileDescriptor = open(filename.c_str(), O_RDONLY);
|
||||
} else {
|
||||
fcntl(STDIN_FILENO, F_SETFL, fcntl(STDIN_FILENO, F_GETFL, 0) | O_NONBLOCK);
|
||||
fileDescriptor = STDIN_FILENO;
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue