Mercurial > pidgin
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 |