labstreaminglayer / App-AudioCapture

Capture audio and stream it over LabStreamingLayer
MIT License
11 stars 2 forks source link

[WIP] Port to CMake + Qt5 + QtMultimedia #2

Closed tstenner closed 4 years ago

tstenner commented 4 years ago

A cross-platform port to CMake, Qt5 and QtMultimedia.

I haven't tested the audio latency yet, so if anyone has the equipment at hand and some time, it'd be great.

cboulay commented 4 years ago

I had to comment out the cfg-copy line(s) from CMakeLists.txt.

Then I was able to build in Windows. When running, it crashes almost immediately:

ASSERT failure in QList::at: "index out of range", file c:\qt\5.13.1\msvc2017_64\include\qtcore\qlist.h, line 560

This happens in mainwindow.cpp Line 60, devices.at(ui->input_device->currentIndex()).

Maybe relevant is that this PC does not have a microphone or any other audio input.

tstenner commented 4 years ago

Maybe relevant is that this PC does not have a microphone or any other audio input.

That might cause some problems later on, but a crash isn't good. I've added a check at the beginning.

tstenner commented 4 years ago

The stream id doesn't make sense: when the app dies, a stream with the same name+hostname will be searched for anyway so adding the hostname as stream id doesn't add anything. In case a single PCs streams severals audio inputs at the same time, both streams will have the same stream id.

cboulay commented 4 years ago

Re stream id: I need something because previously it was empty. So working most of the time is better than working never.

tstenner commented 4 years ago

It should run without a stream id, but if not there should be some sort of audio device identifier we should use instead.

cboulay commented 4 years ago

OK I'm now happy enough with this application. I'll tag the original branch, merge this, tag this, upload some zip files to the release page, rename the repository to drop the Win suffix, update the submodules, then update what doc references to this I can find.