-
Notifications
You must be signed in to change notification settings - Fork 0
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
Make the streaming implementation more robust #1
Make the streaming implementation more robust #1
Conversation
Note: a good testing tool is the SoapySDRServer application, together with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Felix for your changes.
One thing that I am still grappling with is the best way to handle streaming failures with CubicSDR (which is what many users would probably use this module for); by throwing an exception I was forcing the application to somehow deal with it (in my case CubicSDR was throwing a core dump), while returning an error code (which is what the specs for SoapySDR drivers say you should do) causes CubicSDR to just freeze; I was able to make this happen in at least a couple of ways (switching the RSPduo mode from single tuner to master while streaming, or just stopping the sdrplay_api service while streaming and then trying to change the device in CubicSDR).
Again this is probably something that the SoapySDRPlay driver shouldn't have to worry about, but in my case having a core dump made my life easier while troubleshooting what went wrong.
Franco
Hi @fventuri , the streaming failures are indeed not properly handled in CubicSDR. However this should be fixed in Cubic. Soapy provides all the necessary information, so this should not be a "conceptual" problem. In the meantime, we could also add a CMake option (together with a define), to throw on streaming errors. Another open question is still if the current implementation of the streaming API is actually race-free. There are some indications that it might be not: pothosware/SoapySDRPlay3#59 In my use-case I have a remote SDR station and there I got the problem, that something crashes after a few hours to days. However, this could also be related to a crash of the SDRPlay service. I hope, I will find the time to investigate this more closely. |
Felix, Franco |
Felix, Franco |
Hi Franco, Felix |
This PR mainly addresses the following issues: