diff options
author | iphydf <iphydf@users.noreply.github.com> | 2018-08-11 14:11:55 +0000 |
---|---|---|
committer | iphydf <iphydf@users.noreply.github.com> | 2018-08-13 22:11:48 +0000 |
commit | 2d84681529161fd6add331286483ec58c034ba45 (patch) | |
tree | 3c70c1cd84371637856b567e28719b0e889757a2 /toxav/groupav.c | |
parent | b77e407b6fe4800eb9c7abce405f804429884643 (diff) |
Fix ToxAv's use of `struct Tox`.
* Fix `toxav_get_tox` to return tox, not messenger.
* Fix the casts from Tox* to Messenger* in toxav_old.c.
* Pass Tox instead of Messenger to public group AV callbacks.
Diffstat (limited to 'toxav/groupav.c')
-rw-r--r-- | toxav/groupav.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/toxav/groupav.c b/toxav/groupav.c index 091f1255..b10a7f8e 100644 --- a/toxav/groupav.c +++ b/toxav/groupav.c | |||
@@ -163,6 +163,7 @@ static Group_Audio_Packet *dequeue(Group_JitterBuffer *q, int *success) | |||
163 | 163 | ||
164 | typedef struct Group_AV { | 164 | typedef struct Group_AV { |
165 | const Logger *log; | 165 | const Logger *log; |
166 | Tox *tox; | ||
166 | Group_Chats *g_c; | 167 | Group_Chats *g_c; |
167 | OpusEncoder *audio_encoder; | 168 | OpusEncoder *audio_encoder; |
168 | 169 | ||
@@ -231,7 +232,8 @@ static int recreate_encoder(Group_AV *group_av) | |||
231 | return 0; | 232 | return 0; |
232 | } | 233 | } |
233 | 234 | ||
234 | static Group_AV *new_group_av(const Logger *log, Group_Chats *g_c, audio_data_cb *audio_callback, void *userdata) | 235 | static Group_AV *new_group_av(const Logger *log, Tox *tox, Group_Chats *g_c, audio_data_cb *audio_callback, |
236 | void *userdata) | ||
235 | { | 237 | { |
236 | if (!g_c) { | 238 | if (!g_c) { |
237 | return nullptr; | 239 | return nullptr; |
@@ -244,6 +246,7 @@ static Group_AV *new_group_av(const Logger *log, Group_Chats *g_c, audio_data_cb | |||
244 | } | 246 | } |
245 | 247 | ||
246 | group_av->log = log; | 248 | group_av->log = log; |
249 | group_av->tox = tox; | ||
247 | group_av->g_c = g_c; | 250 | group_av->g_c = g_c; |
248 | 251 | ||
249 | group_av->audio_data = audio_callback; | 252 | group_av->audio_data = audio_callback; |
@@ -386,7 +389,7 @@ static int decode_audio_packet(Group_AV *group_av, Group_Peer_AV *peer_av, uint3 | |||
386 | if (out_audio) { | 389 | if (out_audio) { |
387 | 390 | ||
388 | if (group_av->audio_data) { | 391 | if (group_av->audio_data) { |
389 | group_av->audio_data(group_av->g_c->m, groupnumber, friendgroupnumber, out_audio, out_audio_samples, | 392 | group_av->audio_data(group_av->tox, groupnumber, friendgroupnumber, out_audio, out_audio_samples, |
390 | peer_av->decoder_channels, sample_rate, group_av->userdata); | 393 | peer_av->decoder_channels, sample_rate, group_av->userdata); |
391 | } | 394 | } |
392 | 395 | ||
@@ -433,10 +436,10 @@ static int handle_group_audio_packet(void *object, uint32_t groupnumber, uint32_ | |||
433 | * return 0 on success. | 436 | * return 0 on success. |
434 | * return -1 on failure. | 437 | * return -1 on failure. |
435 | */ | 438 | */ |
436 | static int groupchat_enable_av(const Logger *log, Group_Chats *g_c, uint32_t groupnumber, | 439 | static int groupchat_enable_av(const Logger *log, Tox *tox, Group_Chats *g_c, uint32_t groupnumber, |
437 | audio_data_cb *audio_callback, void *userdata) | 440 | audio_data_cb *audio_callback, void *userdata) |
438 | { | 441 | { |
439 | Group_AV *group_av = new_group_av(log, g_c, audio_callback, userdata); | 442 | Group_AV *group_av = new_group_av(log, tox, g_c, audio_callback, userdata); |
440 | 443 | ||
441 | if (group_av == nullptr) { | 444 | if (group_av == nullptr) { |
442 | return -1; | 445 | return -1; |
@@ -459,7 +462,7 @@ static int groupchat_enable_av(const Logger *log, Group_Chats *g_c, uint32_t gro | |||
459 | * return group number on success. | 462 | * return group number on success. |
460 | * return -1 on failure. | 463 | * return -1 on failure. |
461 | */ | 464 | */ |
462 | int add_av_groupchat(const Logger *log, Group_Chats *g_c, audio_data_cb *audio_callback, void *userdata) | 465 | int add_av_groupchat(const Logger *log, Tox *tox, Group_Chats *g_c, audio_data_cb *audio_callback, void *userdata) |
463 | { | 466 | { |
464 | int groupnumber = add_groupchat(g_c, GROUPCHAT_TYPE_AV); | 467 | int groupnumber = add_groupchat(g_c, GROUPCHAT_TYPE_AV); |
465 | 468 | ||
@@ -467,7 +470,7 @@ int add_av_groupchat(const Logger *log, Group_Chats *g_c, audio_data_cb *audio_c | |||
467 | return -1; | 470 | return -1; |
468 | } | 471 | } |
469 | 472 | ||
470 | if (groupchat_enable_av(log, g_c, groupnumber, audio_callback, userdata) == -1) { | 473 | if (groupchat_enable_av(log, tox, g_c, groupnumber, audio_callback, userdata) == -1) { |
471 | del_groupchat(g_c, groupnumber); | 474 | del_groupchat(g_c, groupnumber); |
472 | return -1; | 475 | return -1; |
473 | } | 476 | } |
@@ -480,8 +483,8 @@ int add_av_groupchat(const Logger *log, Group_Chats *g_c, audio_data_cb *audio_c | |||
480 | * returns group number on success | 483 | * returns group number on success |
481 | * returns -1 on failure. | 484 | * returns -1 on failure. |
482 | */ | 485 | */ |
483 | int join_av_groupchat(const Logger *log, Group_Chats *g_c, uint32_t friendnumber, const uint8_t *data, uint16_t length, | 486 | int join_av_groupchat(const Logger *log, Tox *tox, Group_Chats *g_c, uint32_t friendnumber, const uint8_t *data, |
484 | audio_data_cb *audio_callback, void *userdata) | 487 | uint16_t length, audio_data_cb *audio_callback, void *userdata) |
485 | { | 488 | { |
486 | int groupnumber = join_groupchat(g_c, friendnumber, GROUPCHAT_TYPE_AV, data, length); | 489 | int groupnumber = join_groupchat(g_c, friendnumber, GROUPCHAT_TYPE_AV, data, length); |
487 | 490 | ||
@@ -489,7 +492,7 @@ int join_av_groupchat(const Logger *log, Group_Chats *g_c, uint32_t friendnumber | |||
489 | return -1; | 492 | return -1; |
490 | } | 493 | } |
491 | 494 | ||
492 | if (groupchat_enable_av(log, g_c, groupnumber, audio_callback, userdata) == -1) { | 495 | if (groupchat_enable_av(log, tox, g_c, groupnumber, audio_callback, userdata) == -1) { |
493 | del_groupchat(g_c, groupnumber); | 496 | del_groupchat(g_c, groupnumber); |
494 | return -1; | 497 | return -1; |
495 | } | 498 | } |