mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-08-14 10:46:51 -07:00
Fix Cleanup on ChiakiSession Init Fail on Android
This commit is contained in:
parent
825c21585e
commit
df6d0a7ede
2 changed files with 22 additions and 3 deletions
|
@ -275,7 +275,12 @@ JNIEXPORT void JNICALL Java_com_metallic_chiaki_lib_ChiakiNative_sessionCreate(J
|
|||
err = chiaki_session_init(&session->session, &connect_info, &global_log);
|
||||
if(err != CHIAKI_ERR_SUCCESS)
|
||||
{
|
||||
// TODO: free audio and video decoders and session (?)
|
||||
CHIAKI_LOGE(&global_log, "JNI ChiakiSession failed to init");
|
||||
android_chiaki_video_decoder_fini(&session->video_decoder);
|
||||
android_chiaki_audio_decoder_fini(&session->audio_decoder);
|
||||
android_chiaki_audio_output_free(session->audio_output);
|
||||
free(session);
|
||||
session = NULL;
|
||||
goto beach;
|
||||
}
|
||||
|
||||
|
@ -390,6 +395,8 @@ static void android_discovery_service_cb(ChiakiDiscoveryHost *hosts, size_t host
|
|||
{
|
||||
AndroidDiscoveryService *service = user;
|
||||
|
||||
CHIAKI_LOGI(&global_log, "JNI Discovery Callback got %llu hosts", (unsigned long long)hosts_count);
|
||||
|
||||
JNIEnv *env = attach_thread_jni();
|
||||
if(!env)
|
||||
return;
|
||||
|
|
|
@ -149,6 +149,10 @@ class StreamActivity : AppCompatActivity()
|
|||
dialog = null
|
||||
reconnect()
|
||||
}
|
||||
.setOnDismissListener {
|
||||
dialog = null
|
||||
finish()
|
||||
}
|
||||
.setNegativeButton(R.string.action_quit_session) { _, _ ->
|
||||
dialog = null
|
||||
finish()
|
||||
|
@ -166,6 +170,10 @@ class StreamActivity : AppCompatActivity()
|
|||
dialog?.dismiss()
|
||||
val dialog = AlertDialog.Builder(this)
|
||||
.setMessage(getString(R.string.alert_message_session_create_error, state.error.errorCode.toString()))
|
||||
.setOnDismissListener {
|
||||
dialog = null
|
||||
finish()
|
||||
}
|
||||
.setNegativeButton(R.string.action_quit_session) { _, _ ->
|
||||
dialog = null
|
||||
finish()
|
||||
|
@ -193,11 +201,15 @@ class StreamActivity : AppCompatActivity()
|
|||
R.string.alert_message_login_pin_request)
|
||||
.setView(view)
|
||||
.setPositiveButton(R.string.action_login_pin_connect) { _, _ ->
|
||||
this.dialog = null
|
||||
dialog = null
|
||||
viewModel.session.setLoginPin(pinEditText.text.toString())
|
||||
}
|
||||
.setOnDismissListener {
|
||||
dialog = null
|
||||
finish()
|
||||
}
|
||||
.setNegativeButton(R.string.action_quit_session) { _, _ ->
|
||||
this.dialog = null
|
||||
dialog = null
|
||||
finish()
|
||||
}
|
||||
.create()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue