comparison libpurple/media/media.c @ 29187:f351e87b7af0

Add codecs_ready to the media backend interface.
author maiku@pidgin.im
date Tue, 27 Oct 2009 19:06:29 +0000
parents 7e9d8840e97f
children 209fa20fc39f
comparison
equal deleted inserted replaced
29186:7e9d8840e97f 29187:f351e87b7af0
1423 1423
1424 gboolean 1424 gboolean
1425 purple_media_codecs_ready(PurpleMedia *media, const gchar *sess_id) 1425 purple_media_codecs_ready(PurpleMedia *media, const gchar *sess_id)
1426 { 1426 {
1427 #ifdef USE_VV 1427 #ifdef USE_VV
1428 gboolean ret;
1429
1430 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); 1428 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
1431 1429
1432 if (sess_id != NULL) { 1430 return purple_media_backend_codecs_ready(
1433 PurpleMediaSession *session; 1431 media->priv->backend, sess_id);
1434 session = purple_media_get_session(media, sess_id);
1435
1436 if (session == NULL)
1437 return FALSE;
1438 if (session->type & (PURPLE_MEDIA_SEND_AUDIO |
1439 PURPLE_MEDIA_SEND_VIDEO))
1440 g_object_get(session->session,
1441 "codecs-ready", &ret, NULL);
1442 else
1443 ret = TRUE;
1444 } else {
1445 GList *values = g_hash_table_get_values(media->priv->sessions);
1446 for (; values; values = g_list_delete_link(values, values)) {
1447 PurpleMediaSession *session = values->data;
1448 if (session->type & (PURPLE_MEDIA_SEND_AUDIO |
1449 PURPLE_MEDIA_SEND_VIDEO))
1450 g_object_get(session->session,
1451 "codecs-ready", &ret, NULL);
1452 else
1453 ret = TRUE;
1454
1455 if (ret == FALSE)
1456 break;
1457 }
1458 if (values != NULL)
1459 g_list_free(values);
1460 }
1461 return ret;
1462 #else 1432 #else
1463 return FALSE; 1433 return FALSE;
1464 #endif 1434 #endif
1465 } 1435 }
1466 1436