diff options
author | iphydf <iphydf@users.noreply.github.com> | 2016-09-18 01:31:55 +0100 |
---|---|---|
committer | iphydf <iphydf@users.noreply.github.com> | 2016-09-24 21:53:50 +0100 |
commit | 15cb4261665bab4ef02a5b1b9db48b9477c9b87a (patch) | |
tree | d0c40a45afa19fff26ce1eb5bb703e18a9acdd4a /toxav/toxav.c | |
parent | 0d347c2b2e69aa09b079f6daaa00007fef4fe52f (diff) |
Make toxcore code C++ compatible.
It is still C code, so still compatible with C compilers as well. This
change lets us see more clearly where implicit conversions occur by
making them explicit.
Diffstat (limited to 'toxav/toxav.c')
-rw-r--r-- | toxav/toxav.c | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/toxav/toxav.c b/toxav/toxav.c index 1ae914e8..a5314d23 100644 --- a/toxav/toxav.c +++ b/toxav/toxav.c | |||
@@ -146,7 +146,7 @@ ToxAV *toxav_new(Tox *tox, TOXAV_ERR_NEW *error) | |||
146 | goto END; | 146 | goto END; |
147 | } | 147 | } |
148 | 148 | ||
149 | av = calloc(sizeof(ToxAV), 1); | 149 | av = (ToxAV *)calloc(sizeof(ToxAV), 1); |
150 | 150 | ||
151 | if (av == NULL) { | 151 | if (av == NULL) { |
152 | LOGGER_WARNING(m->log, "Allocation failed!"); | 152 | LOGGER_WARNING(m->log, "Allocation failed!"); |
@@ -289,6 +289,7 @@ bool toxav_call(ToxAV *av, uint32_t friend_number, uint32_t audio_bit_rate, uint | |||
289 | TOXAV_ERR_CALL *error) | 289 | TOXAV_ERR_CALL *error) |
290 | { | 290 | { |
291 | TOXAV_ERR_CALL rc = TOXAV_ERR_CALL_OK; | 291 | TOXAV_ERR_CALL rc = TOXAV_ERR_CALL_OK; |
292 | ToxAVCall *call; | ||
292 | 293 | ||
293 | pthread_mutex_lock(av->mutex); | 294 | pthread_mutex_lock(av->mutex); |
294 | 295 | ||
@@ -298,7 +299,7 @@ bool toxav_call(ToxAV *av, uint32_t friend_number, uint32_t audio_bit_rate, uint | |||
298 | goto END; | 299 | goto END; |
299 | } | 300 | } |
300 | 301 | ||
301 | ToxAVCall *call = call_new(av, friend_number, &rc); | 302 | call = call_new(av, friend_number, &rc); |
302 | 303 | ||
303 | if (call == NULL) { | 304 | if (call == NULL) { |
304 | goto END; | 305 | goto END; |
@@ -342,6 +343,7 @@ bool toxav_answer(ToxAV *av, uint32_t friend_number, uint32_t audio_bit_rate, ui | |||
342 | pthread_mutex_lock(av->mutex); | 343 | pthread_mutex_lock(av->mutex); |
343 | 344 | ||
344 | TOXAV_ERR_ANSWER rc = TOXAV_ERR_ANSWER_OK; | 345 | TOXAV_ERR_ANSWER rc = TOXAV_ERR_ANSWER_OK; |
346 | ToxAVCall *call; | ||
345 | 347 | ||
346 | if (m_friend_exists(av->m, friend_number) == 0) { | 348 | if (m_friend_exists(av->m, friend_number) == 0) { |
347 | rc = TOXAV_ERR_ANSWER_FRIEND_NOT_FOUND; | 349 | rc = TOXAV_ERR_ANSWER_FRIEND_NOT_FOUND; |
@@ -355,7 +357,7 @@ bool toxav_answer(ToxAV *av, uint32_t friend_number, uint32_t audio_bit_rate, ui | |||
355 | goto END; | 357 | goto END; |
356 | } | 358 | } |
357 | 359 | ||
358 | ToxAVCall *call = call_get(av, friend_number); | 360 | call = call_get(av, friend_number); |
359 | 361 | ||
360 | if (call == NULL) { | 362 | if (call == NULL) { |
361 | rc = TOXAV_ERR_ANSWER_FRIEND_NOT_CALLING; | 363 | rc = TOXAV_ERR_ANSWER_FRIEND_NOT_CALLING; |
@@ -399,13 +401,14 @@ bool toxav_call_control(ToxAV *av, uint32_t friend_number, TOXAV_CALL_CONTROL co | |||
399 | { | 401 | { |
400 | pthread_mutex_lock(av->mutex); | 402 | pthread_mutex_lock(av->mutex); |
401 | TOXAV_ERR_CALL_CONTROL rc = TOXAV_ERR_CALL_CONTROL_OK; | 403 | TOXAV_ERR_CALL_CONTROL rc = TOXAV_ERR_CALL_CONTROL_OK; |
404 | ToxAVCall *call; | ||
402 | 405 | ||
403 | if (m_friend_exists(av->m, friend_number) == 0) { | 406 | if (m_friend_exists(av->m, friend_number) == 0) { |
404 | rc = TOXAV_ERR_CALL_CONTROL_FRIEND_NOT_FOUND; | 407 | rc = TOXAV_ERR_CALL_CONTROL_FRIEND_NOT_FOUND; |
405 | goto END; | 408 | goto END; |
406 | } | 409 | } |
407 | 410 | ||
408 | ToxAVCall *call = call_get(av, friend_number); | 411 | call = call_get(av, friend_number); |
409 | 412 | ||
410 | if (call == NULL || (!call->active && control != TOXAV_CALL_CONTROL_CANCEL)) { | 413 | if (call == NULL || (!call->active && control != TOXAV_CALL_CONTROL_CANCEL)) { |
411 | rc = TOXAV_ERR_CALL_CONTROL_FRIEND_NOT_IN_CALL; | 414 | rc = TOXAV_ERR_CALL_CONTROL_FRIEND_NOT_IN_CALL; |
@@ -815,8 +818,8 @@ bool toxav_video_send_frame(ToxAV *av, uint32_t friend_number, uint16_t width, u | |||
815 | memcpy(img.planes[VPX_PLANE_U], u, (width / 2) * (height / 2)); | 818 | memcpy(img.planes[VPX_PLANE_U], u, (width / 2) * (height / 2)); |
816 | memcpy(img.planes[VPX_PLANE_V], v, (width / 2) * (height / 2)); | 819 | memcpy(img.planes[VPX_PLANE_V], v, (width / 2) * (height / 2)); |
817 | 820 | ||
818 | int vrc = vpx_codec_encode(call->video.second->encoder, &img, | 821 | vpx_codec_err_t vrc = vpx_codec_encode(call->video.second->encoder, &img, |
819 | call->video.second->frame_counter, 1, 0, MAX_ENCODE_TIME_US); | 822 | call->video.second->frame_counter, 1, 0, MAX_ENCODE_TIME_US); |
820 | 823 | ||
821 | vpx_img_free(&img); | 824 | vpx_img_free(&img); |
822 | 825 | ||
@@ -836,7 +839,7 @@ bool toxav_video_send_frame(ToxAV *av, uint32_t friend_number, uint16_t width, u | |||
836 | 839 | ||
837 | while ((pkt = vpx_codec_get_cx_data(call->video.second->encoder, &iter))) { | 840 | while ((pkt = vpx_codec_get_cx_data(call->video.second->encoder, &iter))) { |
838 | if (pkt->kind == VPX_CODEC_CX_FRAME_PKT && | 841 | if (pkt->kind == VPX_CODEC_CX_FRAME_PKT && |
839 | rtp_send_data(call->video.first, pkt->data.frame.buf, pkt->data.frame.sz) < 0) { | 842 | rtp_send_data(call->video.first, (const uint8_t *)pkt->data.frame.buf, pkt->data.frame.sz) < 0) { |
840 | 843 | ||
841 | pthread_mutex_unlock(call->mutex_video); | 844 | pthread_mutex_unlock(call->mutex_video); |
842 | LOGGER_WARNING(av->m->log, "Could not send video frame: %s\n", strerror(errno)); | 845 | LOGGER_WARNING(av->m->log, "Could not send video frame: %s\n", strerror(errno)); |
@@ -886,7 +889,7 @@ void callback_bwc(BWController *bwc, uint32_t friend_number, float loss, void *u | |||
886 | * The application may choose to disable video totally if the stream is too bad. | 889 | * The application may choose to disable video totally if the stream is too bad. |
887 | */ | 890 | */ |
888 | 891 | ||
889 | ToxAVCall *call = user_data; | 892 | ToxAVCall *call = (ToxAVCall *)user_data; |
890 | assert(call); | 893 | assert(call); |
891 | 894 | ||
892 | LOGGER_DEBUG(call->av->m->log, "Reported loss of %f%%", loss * 100); | 895 | LOGGER_DEBUG(call->av->m->log, "Reported loss of %f%%", loss * 100); |
@@ -917,7 +920,7 @@ void callback_bwc(BWController *bwc, uint32_t friend_number, float loss, void *u | |||
917 | } | 920 | } |
918 | int callback_invite(void *toxav_inst, MSICall *call) | 921 | int callback_invite(void *toxav_inst, MSICall *call) |
919 | { | 922 | { |
920 | ToxAV *toxav = toxav_inst; | 923 | ToxAV *toxav = (ToxAV *)toxav_inst; |
921 | pthread_mutex_lock(toxav->mutex); | 924 | pthread_mutex_lock(toxav->mutex); |
922 | 925 | ||
923 | ToxAVCall *av_call = call_new(toxav, call->friend_number, NULL); | 926 | ToxAVCall *av_call = call_new(toxav, call->friend_number, NULL); |
@@ -945,7 +948,7 @@ int callback_invite(void *toxav_inst, MSICall *call) | |||
945 | } | 948 | } |
946 | int callback_start(void *toxav_inst, MSICall *call) | 949 | int callback_start(void *toxav_inst, MSICall *call) |
947 | { | 950 | { |
948 | ToxAV *toxav = toxav_inst; | 951 | ToxAV *toxav = (ToxAV *)toxav_inst; |
949 | pthread_mutex_lock(toxav->mutex); | 952 | pthread_mutex_lock(toxav->mutex); |
950 | 953 | ||
951 | ToxAVCall *av_call = call_get(toxav, call->friend_number); | 954 | ToxAVCall *av_call = call_get(toxav, call->friend_number); |
@@ -973,14 +976,14 @@ int callback_start(void *toxav_inst, MSICall *call) | |||
973 | } | 976 | } |
974 | int callback_end(void *toxav_inst, MSICall *call) | 977 | int callback_end(void *toxav_inst, MSICall *call) |
975 | { | 978 | { |
976 | ToxAV *toxav = toxav_inst; | 979 | ToxAV *toxav = (ToxAV *)toxav_inst; |
977 | pthread_mutex_lock(toxav->mutex); | 980 | pthread_mutex_lock(toxav->mutex); |
978 | 981 | ||
979 | invoke_call_state_callback(toxav, call->friend_number, TOXAV_FRIEND_CALL_STATE_FINISHED); | 982 | invoke_call_state_callback(toxav, call->friend_number, TOXAV_FRIEND_CALL_STATE_FINISHED); |
980 | 983 | ||
981 | if (call->av_call) { | 984 | if (call->av_call) { |
982 | call_kill_transmission(call->av_call); | 985 | call_kill_transmission((ToxAVCall *)call->av_call); |
983 | call_remove(call->av_call); | 986 | call_remove((ToxAVCall *)call->av_call); |
984 | } | 987 | } |
985 | 988 | ||
986 | pthread_mutex_unlock(toxav->mutex); | 989 | pthread_mutex_unlock(toxav->mutex); |
@@ -988,14 +991,14 @@ int callback_end(void *toxav_inst, MSICall *call) | |||
988 | } | 991 | } |
989 | int callback_error(void *toxav_inst, MSICall *call) | 992 | int callback_error(void *toxav_inst, MSICall *call) |
990 | { | 993 | { |
991 | ToxAV *toxav = toxav_inst; | 994 | ToxAV *toxav = (ToxAV *)toxav_inst; |
992 | pthread_mutex_lock(toxav->mutex); | 995 | pthread_mutex_lock(toxav->mutex); |
993 | 996 | ||
994 | invoke_call_state_callback(toxav, call->friend_number, TOXAV_FRIEND_CALL_STATE_ERROR); | 997 | invoke_call_state_callback(toxav, call->friend_number, TOXAV_FRIEND_CALL_STATE_ERROR); |
995 | 998 | ||
996 | if (call->av_call) { | 999 | if (call->av_call) { |
997 | call_kill_transmission(call->av_call); | 1000 | call_kill_transmission((ToxAVCall *)call->av_call); |
998 | call_remove(call->av_call); | 1001 | call_remove((ToxAVCall *)call->av_call); |
999 | } | 1002 | } |
1000 | 1003 | ||
1001 | pthread_mutex_unlock(toxav->mutex); | 1004 | pthread_mutex_unlock(toxav->mutex); |
@@ -1003,7 +1006,7 @@ int callback_error(void *toxav_inst, MSICall *call) | |||
1003 | } | 1006 | } |
1004 | int callback_capabilites(void *toxav_inst, MSICall *call) | 1007 | int callback_capabilites(void *toxav_inst, MSICall *call) |
1005 | { | 1008 | { |
1006 | ToxAV *toxav = toxav_inst; | 1009 | ToxAV *toxav = (ToxAV *)toxav_inst; |
1007 | pthread_mutex_lock(toxav->mutex); | 1010 | pthread_mutex_lock(toxav->mutex); |
1008 | 1011 | ||
1009 | if (call->peer_capabilities & msi_CapSAudio) { | 1012 | if (call->peer_capabilities & msi_CapSAudio) { |
@@ -1068,7 +1071,7 @@ ToxAVCall *call_new(ToxAV *av, uint32_t friend_number, TOXAV_ERR_CALL *error) | |||
1068 | } | 1071 | } |
1069 | 1072 | ||
1070 | 1073 | ||
1071 | call = calloc(sizeof(ToxAVCall), 1); | 1074 | call = (ToxAVCall *)calloc(sizeof(ToxAVCall), 1); |
1072 | 1075 | ||
1073 | if (call == NULL) { | 1076 | if (call == NULL) { |
1074 | rc = TOXAV_ERR_CALL_MALLOC; | 1077 | rc = TOXAV_ERR_CALL_MALLOC; |
@@ -1079,7 +1082,7 @@ ToxAVCall *call_new(ToxAV *av, uint32_t friend_number, TOXAV_ERR_CALL *error) | |||
1079 | call->friend_number = friend_number; | 1082 | call->friend_number = friend_number; |
1080 | 1083 | ||
1081 | if (av->calls == NULL) { /* Creating */ | 1084 | if (av->calls == NULL) { /* Creating */ |
1082 | av->calls = calloc(sizeof(ToxAVCall *), friend_number + 1); | 1085 | av->calls = (ToxAVCall **)calloc(sizeof(ToxAVCall *), friend_number + 1); |
1083 | 1086 | ||
1084 | if (av->calls == NULL) { | 1087 | if (av->calls == NULL) { |
1085 | free(call); | 1088 | free(call); |
@@ -1090,7 +1093,7 @@ ToxAVCall *call_new(ToxAV *av, uint32_t friend_number, TOXAV_ERR_CALL *error) | |||
1090 | 1093 | ||
1091 | av->calls_tail = av->calls_head = friend_number; | 1094 | av->calls_tail = av->calls_head = friend_number; |
1092 | } else if (av->calls_tail < friend_number) { /* Appending */ | 1095 | } else if (av->calls_tail < friend_number) { /* Appending */ |
1093 | void *tmp = realloc(av->calls, sizeof(ToxAVCall *) * (friend_number + 1)); | 1096 | ToxAVCall **tmp = (ToxAVCall **)realloc(av->calls, sizeof(ToxAVCall *) * (friend_number + 1)); |
1094 | 1097 | ||
1095 | if (tmp == NULL) { | 1098 | if (tmp == NULL) { |
1096 | free(call); | 1099 | free(call); |