Skip to content
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

Support calling #166

Open
julianfairfax opened this issue Oct 8, 2022 · 8 comments
Open

Support calling #166

julianfairfax opened this issue Oct 8, 2022 · 8 comments

Comments

@julianfairfax
Copy link

I can't seem to find information on if this is supported or not, but it would be a nice addition

@rubdos
Copy link
Member

rubdos commented Oct 12, 2022

Not supported at this point, but it's on the mental wish list indeed! Thanks for materializing the wish into an issue.

@Be-ing
Copy link

Be-ing commented Oct 15, 2022

I may be interested in working on this at some point.

I suggest leaving interfacing with audio I/O APIs outside of the scope of libsignal-service and only provide audio buffers to the application, perhaps using the audio crate. Likewise for video, just provide the video data for the application to feed into whatever GUI library it's using and an API for the application to send video coming from camera APIs.

@rubdos
Copy link
Member

rubdos commented Oct 16, 2022

@Be-ing, you probably know: how async is the audio ecosystem? I imagine libsignal-service should expose some AsyncWrite and AsyncRead kind of API that just dumps the raw opus (?) streams.

@Be-ing
Copy link

Be-ing commented Oct 16, 2022

I do not think async is an appropriate paradigm for audio programming. At least I have never seen it done. Audio interfaces require buffers of data provided at regular intervals, which may be low latency, otherwise you hear brief pops of silence. This should be handled by a dedicated thread, which would need to poll libsignal-service.

@gferon
Copy link
Collaborator

gferon commented Oct 16, 2022

In theory, it should mostly be mostly about figuring out how to integrate with https://github.com/signalapp/ringrtc and use whatever this library has support for as audio streams. I believe the connection and crypto is handled internally.

@erebion
Copy link

erebion commented Sep 10, 2024

Oh yes, that'd be great. :D

This would also help get Signal calls to mobile Linux devices, as there's currently only Signal Desktop that does calls on Linux and that one is neither available for ARM, nor usable on small screens.

@julianfairfax
Copy link
Author

Oh yes, that'd be great. :D

This would also help get Signal calls to mobile Linux devices, as there's currently only Signal Desktop that does calls on Linux and that one is neither available for ARM

https://signalflatpak.github.io/signal/

@rubdos
Copy link
Member

rubdos commented Sep 11, 2024

FYI: I'm figuring out the integration in here: https://gitlab.com/whisperfish/whisperfish/-/merge_requests/595

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants