-
Notifications
You must be signed in to change notification settings - Fork 180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Keep audio devices open all the time, and from start of program #96
Comments
Actually there already is a function Async::AudioDevice::isFullDuplexCapable() that report if a sound card is full duplex capable or not. The only thing left is to implement the logic in LocalTx. It's probably pretty simple to do. |
Unfortunately there appears to be little development. |
I am using the alsa stuff already, but alas, it is not being predictable in terms of getting stuff to play nicely. I will keep plugging (pun intended) along and see if I can make some headway, was just hoping someone might know roughly what is going on as I have been fighting with this for about a year on and off with multiple sound card types. |
Latest master may solve this issue. Keep audio devices open by setting AUDIO_DEV_KEEP_OPEN=1 in a local RX or TX section. However, audio devices does not open immediately when the application starts but rather on first use. Reopen issue if unresolved. |
please could you explain why we do not open the audio device and remain it open until SvxLink will be closed? What is the advantage of doing it this way? |
now the issue has been re-opened anyway: also note that not opening the device immediately but only on first use does not solve our issue. it may solve other user's problems (those that have unreliable drivers that fail when opened and closed repeatedly) but it still does not work nicely with loopback devices, which need to get their configuration at the start. |
This was the easiest solution right now to solve the issue with the Fe-Pi audio device. The audio device will be kept open until SvxLink exits but it will not open until first use. |
It will probably not take much to resolve this issue as well. I'll have a quick look. |
Happy now? ;-) |
You have again updated it? |
Yes, updated again: 0ea6db9. It now opens the audio device when the tx/rx object is created. I'll close this issue for now. Just reopen it if it still does not work when you get time/temperature to test it. |
We are now working on the streaming audio via svxlink, Alsa loopback device and darkice.
It appears to be working now, will do some more testing and tweaking and hopefully some doc.
What caused some problems is the fact that svxlink closes the audio device every time it turns
off the transmitter. It causes issues with the startup sequence of svxlink, darkice and the
parameters of the Loopback interface.
I have been able to overcome them but it requires a mod to darkice. It would work without problem
when svxlink would have the option to keep the output device (in this case a second local transmitter
with output to alsa:hw:Loopback,0,0) open from the startup of the program until closedown.
(instead of only from beginning to end of transmission)
Apparently it was done to work with cards that can only do half-duplex. If possible, detect this
situation during startup (e.g. open the soundcard for receive and transmit and only close the card
for every tx swich when this fails). When it is not possible, please add a config flag that forces
svxlink to keep the card open. Consider that a soundcard may be used only for transmit, and that
it should be possible to keep it open in that case as well.
The text was updated successfully, but these errors were encountered: