Skip to content

Commit

Permalink
SUPERHIGH_GLOBAL_VIDEO_BITRATE switch
Browse files Browse the repository at this point in the history
  • Loading branch information
zoff99 committed Dec 10, 2023
1 parent 5505a1a commit 5c06e7a
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ public class TRIFAGlobals

final static int HIGHER_GLOBAL_VIDEO_BITRATE = 3500;
final static int NORMAL_GLOBAL_VIDEO_BITRATE = 1500;
public final static int SUPERHIGH_GLOBAL_VIDEO_BITRATE = 8000;
final static int LOWER_GLOBAL_VIDEO_BITRATE = 250;

final static int HIGHER_GLOBAL_AUDIO_BITRATE = 128;
Expand Down
47 changes: 47 additions & 0 deletions src/main/kotlin/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ import androidx.compose.material.icons.filled.Cancel
import androidx.compose.material.icons.filled.Check
import androidx.compose.material.icons.filled.FormatSize
import androidx.compose.material.icons.filled.Fullscreen
import androidx.compose.material.icons.filled.HighQuality
import androidx.compose.material.icons.filled.NoiseAware
import androidx.compose.material.icons.filled.QrCode
import androidx.compose.material.icons.filled.QrCode2
Expand Down Expand Up @@ -130,6 +131,7 @@ import com.zoffcc.applications.trifa.Log
import com.zoffcc.applications.trifa.MainActivity
import com.zoffcc.applications.trifa.MainActivity.Companion.PREF__audio_input_filter
import com.zoffcc.applications.trifa.MainActivity.Companion.PREF__v4l2_capture_force_mjpeg
import com.zoffcc.applications.trifa.MainActivity.Companion.PREF__video_super_hq
import com.zoffcc.applications.trifa.MainActivity.Companion.accept_incoming_av_call
import com.zoffcc.applications.trifa.MainActivity.Companion.decline_incoming_av_call
import com.zoffcc.applications.trifa.MainActivity.Companion.main_init
Expand Down Expand Up @@ -567,6 +569,51 @@ fun App()
contentDescription = "force MJPEG on video capture",
tint = if (video_force_mjpeg_value == 1) Color.Red else Color.DarkGray)

var video_super_hq_value by remember { mutableStateOf(PREF__video_super_hq) }
Icon(modifier = Modifier.padding(5.dp).combinedClickable(
onClick = {
if (PREF__video_super_hq == 0)
{
PREF__video_super_hq = 1
} else
{
PREF__video_super_hq = 0
}
video_super_hq_value = PREF__video_super_hq

try
{
if (!savepathstore.isEnabled())
{
val friendnum = tox_friend_by_public_key(avstatestore.state.call_with_friend_pubkey_get())
if (PREF__video_super_hq == 1)
{
MainActivity.toxav_option_set(friendnum,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MIN_BITRATE.value.toLong(),
TRIFAGlobals.SUPERHIGH_GLOBAL_VIDEO_BITRATE.toLong())
MainActivity.toxav_option_set(friendnum,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MAX_BITRATE.value.toLong(),
TRIFAGlobals.SUPERHIGH_GLOBAL_VIDEO_BITRATE.toLong())
} else
{
MainActivity.toxav_option_set(friendnum,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MIN_BITRATE.value.toLong(),
90)
MainActivity.toxav_option_set(friendnum,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MAX_BITRATE.value.toLong(),
TRIFAGlobals.GLOBAL_VIDEO_BITRATE.toLong())
}
}
}
catch (_: java.lang.Exception)
{
}
}),
imageVector = Icons.Default.HighQuality,
contentDescription = "force super HQ on video capture",
tint = if (video_super_hq_value == 1) Color.Red else Color.DarkGray)


val current_callstate3 by avstatestorecallstate.stateFlow.collectAsState()
if (current_callstate3.call_state == AVState.CALL_STATUS.CALL_STATUS_CALLING)
{
Expand Down
26 changes: 20 additions & 6 deletions src/main/kotlin/com/zoffcc/applications/trifa/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ import com.zoffcc.applications.trifa.TRIFAGlobals.GROUP_ID_LENGTH
import com.zoffcc.applications.trifa.TRIFAGlobals.LOWER_NGC_VIDEO_BITRATE
import com.zoffcc.applications.trifa.TRIFAGlobals.LOWER_NGC_VIDEO_QUANTIZER
import com.zoffcc.applications.trifa.TRIFAGlobals.NGC_AUDIO_BITRATE
import com.zoffcc.applications.trifa.TRIFAGlobals.SUPERHIGH_GLOBAL_VIDEO_BITRATE
import com.zoffcc.applications.trifa.TRIFAGlobals.TRIFA_MSG_TYPE
import com.zoffcc.applications.trifa.TRIFAGlobals.UINT32_MAX_JAVA
import com.zoffcc.applications.trifa.TRIFAGlobals.UPDATE_MESSAGE_PROGRESS_AFTER_BYTES
Expand Down Expand Up @@ -124,6 +125,7 @@ class MainActivity
var PREF__audio_play_volume_percent = 100
var PREF__audio_input_filter = 0
var PREF__v4l2_capture_force_mjpeg: Int = 0 // 0 -> auto, 1 -> force MJPEG video capture with v4l2 devices
var PREF__video_super_hq: Int = 0 // 0 -> normal, 1 -> super high quality video capture
var PREF__orbot_enabled_to_int = 0
var PREF__orbot_enabled_to_int_used_for_init = -1
@JvmStatic var PREF__toxnoise_enabled_to_int_used_for_init = -1
Expand Down Expand Up @@ -3062,12 +3064,24 @@ class MainActivity
avstatestore.state.start_av_call()
GlobalScope.launch {
delay(1000)
toxav_option_set(friend_number,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MIN_BITRATE.value.toLong(),
GLOBAL_VIDEO_BITRATE.toLong())
toxav_option_set(friend_number,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MAX_BITRATE.value.toLong(),
GLOBAL_VIDEO_BITRATE.toLong())
if (PREF__video_super_hq == 1)
{
toxav_option_set(friend_number,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MIN_BITRATE.value.toLong(),
SUPERHIGH_GLOBAL_VIDEO_BITRATE.toLong())
toxav_option_set(friend_number,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MAX_BITRATE.value.toLong(),
SUPERHIGH_GLOBAL_VIDEO_BITRATE.toLong())
}
else
{
toxav_option_set(friend_number,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MIN_BITRATE.value.toLong(),
90)
toxav_option_set(friend_number,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MAX_BITRATE.value.toLong(),
GLOBAL_VIDEO_BITRATE.toLong())
}
}
}
}
Expand Down
27 changes: 18 additions & 9 deletions src/main/kotlin/com/zoffcc/applications/trifa2/ChatApp.kt
Original file line number Diff line number Diff line change
Expand Up @@ -155,15 +155,24 @@ fun ChatAppWithScaffold(focusRequester: FocusRequester, displayTextField: Boolea
avstatestore.state.start_av_call()
GlobalScope.launch {
delay(1000)
//MainActivity.toxav_option_set(friendnum,
// ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_BITRATE_AUTOSET.value.toLong(),
// 0)
MainActivity.toxav_option_set(friendnum,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MIN_BITRATE.value.toLong(),
TRIFAGlobals.GLOBAL_VIDEO_BITRATE.toLong())
MainActivity.toxav_option_set(friendnum,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MAX_BITRATE.value.toLong(),
TRIFAGlobals.GLOBAL_VIDEO_BITRATE.toLong())
if (MainActivity.PREF__video_super_hq == 1)
{
MainActivity.toxav_option_set(friendnum,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MIN_BITRATE.value.toLong(),
TRIFAGlobals.SUPERHIGH_GLOBAL_VIDEO_BITRATE.toLong())
MainActivity.toxav_option_set(friendnum,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MAX_BITRATE.value.toLong(),
TRIFAGlobals.SUPERHIGH_GLOBAL_VIDEO_BITRATE.toLong())
}
else
{
MainActivity.toxav_option_set(friendnum,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MIN_BITRATE.value.toLong(),
90)
MainActivity.toxav_option_set(friendnum,
ToxVars.TOXAV_OPTIONS_OPTION.TOXAV_ENCODER_VIDEO_MAX_BITRATE.value.toLong(),
TRIFAGlobals.GLOBAL_VIDEO_BITRATE.toLong())
}
println("toxav: set 003")
}
}) {
Expand Down

0 comments on commit 5c06e7a

Please sign in to comment.