screen_send_packet(screen, SCREEN_PKT_TYPE_HEARTBEAT_RESPONSE, NULL, 0);
break;
+ case SCREEN_PKT_TYPE_PING_REQUEST:
+ screen_send_packet(screen, SCREEN_PKT_TYPE_PING_RESPONSE, NULL, 0);
+ break;
+
case SCREEN_PKT_TYPE_KEY_REQUEST:
if (screen->screen_sink) {
screen->viewer_present = 1;
static gboolean parse_participant(ChimeConnection *cxn, ChimeCall *call, JsonNode *p,
ChimeCallParticipant **presenter)
{
- const gchar *participant_id, *full_name, *participant_type;
+ const gchar *participant_id, *full_name, *participant_type, *video_present;
gboolean pots, speaker;
ChimeCallParticipationStatus status;
!parse_string(p, "participant_type", &participant_type) ||
!parse_call_participation_status(p, "status", &status) ||
!parse_boolean(p, "pots?", &pots) ||
- !parse_boolean(p, "speaker?", &speaker))
+ !parse_boolean(p, "speaker?", &speaker) ||
+ !parse_string(p, "video_indicator", &video_present))
return FALSE;
const gchar *email = NULL;
cp->status = status;
cp->shared_screen = screen;
+ if(!strcmp(video_present, "none"))
+ cp->video_present = FALSE;
+ else
+ cp->video_present = TRUE;
+
if (screen == CHIME_SHARED_SCREEN_PRESENTING)
*presenter = cp;
gboolean admin;
gboolean speaker;
gboolean pots;
+ gboolean video_present;
int volume;
int signal_strength;
char *passcode;
struct _ChimeCallScreen;
typedef struct _ChimeCallScreen ChimeCallScreen;
+typedef struct _ChimeWebcamScreen ChimeWebcamScreen;
void chime_call_emit_participants(ChimeCall *call);
#include <glib/gi18n.h>
#include <glib/glist.h>
+#include <json-glib/json-glib.h>
+
#include "chime-connection-private.h"
#include <libsoup/soup.h>
void *share_select_ui;
PurpleMedia *share_media;
+ PurpleMedia *webcam_media;
};
/*
purple_notify_searchresults_column_add(results, column);
column = purple_notify_searchresults_column_new("🔊");
purple_notify_searchresults_column_add(results, column);
+ column = purple_notify_searchresults_column_new("📞/🎥");
+ purple_notify_searchresults_column_add(results, column);
purple_notify_searchresults_button_add(results, PURPLE_NOTIFY_BUTTON_IM, open_participant_im);
vol_icon = "🔊";
row = g_list_append(row, g_strdup(vol_icon));
+ const gchar *video_or_phone_icon;
+ if (p->video_present == TRUE)
+ video_or_phone_icon = "🎥";
+ else if (p->pots == TRUE)
+ video_or_phone_icon = "📞";
+ else
+ video_or_phone_icon = "";
+ row = g_list_append(row, g_strdup(video_or_phone_icon));
+
purple_notify_searchresults_row_add(results, row);
pl = g_list_remove(pl, p);