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

VENOM-184: Add support for voice and video calls #463

Merged
merged 1 commit into from
Dec 20, 2018
Merged

Conversation

naxuroqa
Copy link
Owner

@naxuroqa naxuroqa commented Dec 19, 2018

Fixes #184
Fixes #400
Fixes #464

  • Fix a bug in ConversationWindow that hindered you from sending messages on startup
  • Add a notice regarding save file location in README.md
  • Add Pipelines for microphone (AudioIn), speaker (AudioOut), camera (VideoIn) and display (VideoOut)
  • Disable Pipewire device provider and src elements for now (they crash a lot)
  • Add a call adapter to handle av calls and provide an additional layer on top of toxav
  • Migrate some instances of GLib.HashTable to Gee.HashMap
  • Update vapis from https://github.com/naxuroqa/vala-toxcore-c
  • Expand SettingsWidget, add options to select devices and some properties (unfinished)
  • Add a CallWidget which opens for calls (unfinished)
  • Tweak the layouts a bit
  • Remove deprecated calls to tox_self_get_connection_status
  • Add notifications for incoming calls
  • UI elements to
    • Reject calls
    • Display incoming call in conversation widget
    • Display ongoing call in conversation widget
    • Display outgoing call in conversation widget
    • Let the user disable and enable the microphone and camera
TODO: (in other tickets)
  • Save the selected device in the settings
  • Use the selected devices in the pipelines
  • Handle TOXAV_ERR_SEND_FRAME_SYNC errors when sending (research?)
  • Fix and handle any errors from toxcore
  • Handle devices not being available
  • Visualize if the remote has muted himself or disabled video recording (E.g. show a placeholder instead) not possible with current toxcore
Not covered in this PR:
  • Hide OSD after some timeout
  • Fullscreen support
  • Groupchat calls
  • React to video_bit_rate and audio_bit_rate changes from toxcore

@codecov-io
Copy link

codecov-io commented Dec 19, 2018

Codecov Report

Merging #463 into develop will decrease coverage by 0.69%.
The diff coverage is 0.1%.

Impacted file tree graph

@@            Coverage Diff            @@
##           develop    #463     +/-   ##
=========================================
- Coverage     5.43%   4.74%   -0.7%     
=========================================
  Files           81      90      +9     
  Lines         5723    6559    +836     
=========================================
  Hits           311     311             
- Misses        5412    6248    +836
Impacted Files Coverage Δ
src/view/UserInfoWidget.vala 0% <ø> (ø) ⬆️
src/tox/ToxFiletransferAdapter.vala 16.5% <ø> (ø) ⬆️
src/tox/ToxConferenceAdapter.vala 0% <ø> (ø) ⬆️
src/av/VideoInPipeline.vala 0% <0%> (ø)
src/view/ConversationWindow.vala 0% <0%> (ø) ⬆️
src/av/Pipeline.vala 0% <0%> (ø)
src/core/CallState.vala 0% <0%> (ø)
src/view/ContactListEntryCompact.vala 0% <0%> (ø) ⬆️
src/tox/ToxCallAdapter.vala 0% <0%> (ø)
src/tox/ToxAVThread.vala 0% <0%> (ø)
... and 29 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a8b4aeb...8d1f44d. Read the comment docs.

@naxuroqa naxuroqa changed the title [WIP] Add audio / video functionality VENOM-184: Add support for voice and video calls Dec 20, 2018
@naxuroqa naxuroqa self-assigned this Dec 20, 2018
* Add Pipelines for Microphone (AudioIn), Speaker (AudioOut), Camera (VideoIn) and display (VideoOut)
* Disable Pipewire device provider and src elements for now (they crash a lot)
* Add a Call adapter to handle av calls and provide an additional layer on top of toxav
* Migrate some instances of GLib.HashTable to Gee.HashMap
* Update vapis from https://github.com/naxuroqa/vala-toxcore-c
* Fix a bug in ConversationWindow that hindered you from sending messages on startup
* Expand SettingsWidget, add options to select devices and some properties (unfinished)
* Add a CallWidget which opens for calls (unfinished)
* Tweak the layouts a bit
* Remove deprecated calls to tox_self_get_connection_status
* Add notifications for incoming calls
* Move CallState to it's own file
* Add an action to cancel/stop a call
* Use actions to accept / decline / cancel calls in contact list and conversation widget
* Visualize current call state in conversation widget
* Remove optional gstreamer switcher (gstreamer-1.0 is mandatory now)
@naxuroqa naxuroqa merged commit 8d1f44d into develop Dec 20, 2018
@naxuroqa naxuroqa deleted the av_testing branch December 20, 2018 21:07
naxuroqa added a commit that referenced this pull request Jan 21, 2019
* Fixes wrong accelerator mods when trying to send a message
  for the first time in a conversation.
  Backport from #463
@tiotrom
Copy link

tiotrom commented Jul 20, 2020

Hi. Any update on this? Cheers!

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

Successfully merging this pull request may close these issues.

Add a notice about save file locations Venom AV when? Greetings from year 2013 :^) Implement A/V
3 participants