~msandroid_sound_write_data() { ms_bufferizer_flush(bufferizer); ms_bufferizer_destroy(bufferizer); ms_cond_destroy(&cond); if (audio_track_class!=0){ JNIEnv *env = ms_get_jni_env(); env->DeleteGlobalRef(audio_track_class); } }
~msandroid_sound_write_data() { ms_bufferizer_flush(bufferizer); ms_bufferizer_destroy(bufferizer); ms_cond_destroy(&cond); if (audio_track_class!=0) { //JNIEnv *env = ms_get_jni_env(); JNIEnv *env = NULL; JavaVM *jvm = ms_get_jvm(); if (jvm->AttachCurrentThread(&env, NULL)!=0) { ms_fatal("AttachCurrentThread() failed !"); } env->DeleteGlobalRef(audio_track_class); jvm->DetachCurrentThread(); } }
static void conf_stream_free(LinphoneConferenceStream *stream) { if(stream->audio_ticker!=NULL)ms_ticker_destroy(stream->audio_ticker); if(stream->audio_fileplayer!=NULL) ms_filter_destroy(stream->audio_fileplayer); if(stream->audio_filerecorder!=NULL) ms_filter_destroy(stream->audio_filerecorder); if(stream->audio_mixer!=NULL) ms_filter_destroy(stream->audio_mixer); if(stream->audio_record_sink!=NULL) ms_filter_destroy(stream->audio_record_sink); if(stream->video_record_sink!=NULL) ms_filter_destroy(stream->video_record_sink); MSList *list = stream->audio_ports; for(;list!=NULL;list=list->next){ ConfAudioPort* port = (ConfAudioPort*) list->data; audio_slot_destory(port); } ms_list_free(stream->audio_ports); if(stream->has_video){ if(stream->video_ticker!=NULL){ ms_cond_destroy(&stream->video_ticker->cond); ms_ticker_destroy(stream->video_ticker); } if(stream->video_mixer!=NULL) ms_filter_destroy(stream->video_mixer); if(stream->video_output!=NULL) ms_filter_destroy(stream->video_output); if(stream->video_static_image!=NULL) ms_filter_destroy(stream->video_static_image); if(stream->video_static_image_tee!=NULL) ms_filter_destroy(stream->video_static_image_tee); MSList *list = stream->video_ports; for(;list!=NULL;list=list->next){ ConfVideoPort* port = (ConfVideoPort*) list->data; video_slot_destory(port); } ms_list_free(stream->video_ports); } if(stream->display_name!=NULL) ms_free(stream->display_name); if(stream->static_image_path!=NULL) ms_free(stream->static_image_path); ms_free(stream); }