mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-08-19 21:13:12 -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);
|
err = chiaki_session_init(&session->session, &connect_info, &global_log);
|
||||||
if(err != CHIAKI_ERR_SUCCESS)
|
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;
|
goto beach;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -390,6 +395,8 @@ static void android_discovery_service_cb(ChiakiDiscoveryHost *hosts, size_t host
|
||||||
{
|
{
|
||||||
AndroidDiscoveryService *service = user;
|
AndroidDiscoveryService *service = user;
|
||||||
|
|
||||||
|
CHIAKI_LOGI(&global_log, "JNI Discovery Callback got %llu hosts", (unsigned long long)hosts_count);
|
||||||
|
|
||||||
JNIEnv *env = attach_thread_jni();
|
JNIEnv *env = attach_thread_jni();
|
||||||
if(!env)
|
if(!env)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -149,6 +149,10 @@ class StreamActivity : AppCompatActivity()
|
||||||
dialog = null
|
dialog = null
|
||||||
reconnect()
|
reconnect()
|
||||||
}
|
}
|
||||||
|
.setOnDismissListener {
|
||||||
|
dialog = null
|
||||||
|
finish()
|
||||||
|
}
|
||||||
.setNegativeButton(R.string.action_quit_session) { _, _ ->
|
.setNegativeButton(R.string.action_quit_session) { _, _ ->
|
||||||
dialog = null
|
dialog = null
|
||||||
finish()
|
finish()
|
||||||
|
@ -166,6 +170,10 @@ class StreamActivity : AppCompatActivity()
|
||||||
dialog?.dismiss()
|
dialog?.dismiss()
|
||||||
val dialog = AlertDialog.Builder(this)
|
val dialog = AlertDialog.Builder(this)
|
||||||
.setMessage(getString(R.string.alert_message_session_create_error, state.error.errorCode.toString()))
|
.setMessage(getString(R.string.alert_message_session_create_error, state.error.errorCode.toString()))
|
||||||
|
.setOnDismissListener {
|
||||||
|
dialog = null
|
||||||
|
finish()
|
||||||
|
}
|
||||||
.setNegativeButton(R.string.action_quit_session) { _, _ ->
|
.setNegativeButton(R.string.action_quit_session) { _, _ ->
|
||||||
dialog = null
|
dialog = null
|
||||||
finish()
|
finish()
|
||||||
|
@ -193,11 +201,15 @@ class StreamActivity : AppCompatActivity()
|
||||||
R.string.alert_message_login_pin_request)
|
R.string.alert_message_login_pin_request)
|
||||||
.setView(view)
|
.setView(view)
|
||||||
.setPositiveButton(R.string.action_login_pin_connect) { _, _ ->
|
.setPositiveButton(R.string.action_login_pin_connect) { _, _ ->
|
||||||
this.dialog = null
|
dialog = null
|
||||||
viewModel.session.setLoginPin(pinEditText.text.toString())
|
viewModel.session.setLoginPin(pinEditText.text.toString())
|
||||||
}
|
}
|
||||||
|
.setOnDismissListener {
|
||||||
|
dialog = null
|
||||||
|
finish()
|
||||||
|
}
|
||||||
.setNegativeButton(R.string.action_quit_session) { _, _ ->
|
.setNegativeButton(R.string.action_quit_session) { _, _ ->
|
||||||
this.dialog = null
|
dialog = null
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
.create()
|
.create()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue