in prpl/chat.c [445:470]
static void on_audio_state(ChimeCall *call, ChimeAudioState audio_state,
const gchar *message, struct chime_chat *chat)
{
purple_debug(PURPLE_DEBUG_INFO, "chime", "Audio state %d (%s)\n", audio_state, message);
const gchar *name = chime_call_get_alert_body(chat->call);
if (audio_state == CHIME_AUDIO_STATE_FAILED) {
if (chat->media) {
purple_media_error(chat->media, "Failed to connect audio transport: %s\n",
message);
purple_media_end(chat->media, NULL, NULL);
chat->media = NULL;
}
} else if (audio_state == CHIME_AUDIO_STATE_CONNECTING && !chat->media &&
!chime_call_get_silent(call)) {
call_media_setup(call, chat);
} else if (audio_state == CHIME_AUDIO_STATE_AUDIO_MUTED && chat->media) {
purple_media_stream_info(chat->media, PURPLE_MEDIA_INFO_MUTE, "chime", name, FALSE);
} else if (audio_state == CHIME_AUDIO_STATE_AUDIO && chat->media) {
if (!chat->media_connected) {
chat->media_connected = TRUE;
purple_media_stream_info(chat->media, PURPLE_MEDIA_INFO_ACCEPT, "chime", name, FALSE);
}
purple_media_stream_info(chat->media, PURPLE_MEDIA_INFO_UNMUTE, "chime", name, FALSE);
}
}