diff options
-rw-r--r-- | auto_tests/conference_av_test.c | 6 | ||||
-rw-r--r-- | toxav/groupav.c | 7 | ||||
-rw-r--r-- | toxav/groupav.h | 4 | ||||
-rw-r--r-- | toxav/toxav.h | 4 | ||||
-rw-r--r-- | toxav/toxav_old.c | 9 |
5 files changed, 30 insertions, 0 deletions
diff --git a/auto_tests/conference_av_test.c b/auto_tests/conference_av_test.c index 6d701751..d76e0f24 100644 --- a/auto_tests/conference_av_test.c +++ b/auto_tests/conference_av_test.c | |||
@@ -352,8 +352,12 @@ static void run_conference_tests(Tox **toxes, State *state) | |||
352 | 352 | ||
353 | for (uint32_t i = 0; i < NUM_AV_GROUP_TOX; ++i) { | 353 | for (uint32_t i = 0; i < NUM_AV_GROUP_TOX; ++i) { |
354 | if (restarting[i]) { | 354 | if (restarting[i]) { |
355 | ck_assert_msg(!toxav_groupchat_av_enabled(toxes[i], 0), | ||
356 | "#%u restarted but av enabled", state[i].index); | ||
355 | ck_assert_msg(toxav_groupchat_enable_av(toxes[i], 0, audio_callback, &state[i]) == 0, | 357 | ck_assert_msg(toxav_groupchat_enable_av(toxes[i], 0, audio_callback, &state[i]) == 0, |
356 | "#%u failed to re-enable av", state[i].index); | 358 | "#%u failed to re-enable av", state[i].index); |
359 | ck_assert_msg(toxav_groupchat_av_enabled(toxes[i], 0), | ||
360 | "#%u av not enabled even after enabling", state[i].index); | ||
357 | } | 361 | } |
358 | } | 362 | } |
359 | 363 | ||
@@ -393,6 +397,8 @@ static void run_conference_tests(Tox **toxes, State *state) | |||
393 | disabled[i] = false; | 397 | disabled[i] = false; |
394 | ck_assert_msg(toxav_groupchat_disable_av(toxes[i], 0) != 0, | 398 | ck_assert_msg(toxav_groupchat_disable_av(toxes[i], 0) != 0, |
395 | "#%u could disable already disabled av!", state[i].index); | 399 | "#%u could disable already disabled av!", state[i].index); |
400 | ck_assert_msg(!toxav_groupchat_av_enabled(toxes[i], 0), | ||
401 | "#%u av enabled after disabling", state[i].index); | ||
396 | ck_assert_msg(toxav_groupchat_enable_av(toxes[i], 0, audio_callback, &state[i]) == 0, | 402 | ck_assert_msg(toxav_groupchat_enable_av(toxes[i], 0, audio_callback, &state[i]) == 0, |
397 | "#%u failed to re-enable av", state[i].index); | 403 | "#%u failed to re-enable av", state[i].index); |
398 | } | 404 | } |
diff --git a/toxav/groupav.c b/toxav/groupav.c index f49848de..891b35e6 100644 --- a/toxav/groupav.c +++ b/toxav/groupav.c | |||
@@ -506,6 +506,13 @@ int groupchat_disable_av(Group_Chats *g_c, uint32_t groupnumber) | |||
506 | return 0; | 506 | return 0; |
507 | } | 507 | } |
508 | 508 | ||
509 | /* Return whether A/V is enabled in the groupchat. | ||
510 | */ | ||
511 | bool groupchat_av_enabled(Group_Chats *g_c, uint32_t groupnumber) | ||
512 | { | ||
513 | return group_get_object(g_c, groupnumber) != nullptr; | ||
514 | } | ||
515 | |||
509 | /* Create a new toxav group. | 516 | /* Create a new toxav group. |
510 | * | 517 | * |
511 | * return group number on success. | 518 | * return group number on success. |
diff --git a/toxav/groupav.h b/toxav/groupav.h index 45ff1d60..9d5351a4 100644 --- a/toxav/groupav.h +++ b/toxav/groupav.h | |||
@@ -74,4 +74,8 @@ int groupchat_enable_av(const Logger *log, Tox *tox, Group_Chats *g_c, uint32_t | |||
74 | */ | 74 | */ |
75 | int groupchat_disable_av(Group_Chats *g_c, uint32_t groupnumber); | 75 | int groupchat_disable_av(Group_Chats *g_c, uint32_t groupnumber); |
76 | 76 | ||
77 | /* Return whether A/V is enabled in the groupchat. | ||
78 | */ | ||
79 | bool groupchat_av_enabled(Group_Chats *g_c, uint32_t groupnumber); | ||
80 | |||
77 | #endif // C_TOXCORE_TOXAV_GROUPAV_H | 81 | #endif // C_TOXCORE_TOXAV_GROUPAV_H |
diff --git a/toxav/toxav.h b/toxav/toxav.h index 6c1ea093..5d4f3bd3 100644 --- a/toxav/toxav.h +++ b/toxav/toxav.h | |||
@@ -803,6 +803,10 @@ int toxav_groupchat_enable_av(Tox *tox, uint32_t groupnumber, | |||
803 | */ | 803 | */ |
804 | int toxav_groupchat_disable_av(Tox *tox, uint32_t groupnumber); | 804 | int toxav_groupchat_disable_av(Tox *tox, uint32_t groupnumber); |
805 | 805 | ||
806 | /* Return whether A/V is enabled in the groupchat. | ||
807 | */ | ||
808 | bool toxav_groupchat_av_enabled(Tox *tox, uint32_t groupnumber); | ||
809 | |||
806 | #ifdef __cplusplus | 810 | #ifdef __cplusplus |
807 | } | 811 | } |
808 | #endif | 812 | #endif |
diff --git a/toxav/toxav_old.c b/toxav/toxav_old.c index af9980b0..0ae9231d 100644 --- a/toxav/toxav_old.c +++ b/toxav/toxav_old.c | |||
@@ -109,3 +109,12 @@ int toxav_groupchat_disable_av(Tox *tox, uint32_t groupnumber) | |||
109 | Messenger *m = *(Messenger **)tox; | 109 | Messenger *m = *(Messenger **)tox; |
110 | return groupchat_disable_av(m->conferences_object, groupnumber); | 110 | return groupchat_disable_av(m->conferences_object, groupnumber); |
111 | } | 111 | } |
112 | |||
113 | /* Return whether A/V is enabled in the groupchat. | ||
114 | */ | ||
115 | bool toxav_groupchat_av_enabled(Tox *tox, uint32_t groupnumber) | ||
116 | { | ||
117 | // TODO(iphydf): Don't rely on toxcore internals. | ||
118 | Messenger *m = *(Messenger **)tox; | ||
119 | return groupchat_av_enabled(m->conferences_object, groupnumber); | ||
120 | } | ||