summaryrefslogtreecommitdiff
path: root/toxav/toxav.c
diff options
context:
space:
mode:
Diffstat (limited to 'toxav/toxav.c')
-rw-r--r--toxav/toxav.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/toxav/toxav.c b/toxav/toxav.c
index 959ef54c..a042b9dd 100644
--- a/toxav/toxav.c
+++ b/toxav/toxav.c
@@ -351,7 +351,7 @@ int toxav_prepare_transmission ( ToxAv *av, int32_t call_index, ToxAvCodecSettin
351int toxav_kill_transmission ( ToxAv *av, int32_t call_index ) 351int toxav_kill_transmission ( ToxAv *av, int32_t call_index )
352{ 352{
353 if (cii(call_index, av->msi_session)) return ErrorNoCall; 353 if (cii(call_index, av->msi_session)) return ErrorNoCall;
354 354
355 CallSpecific *call = &av->calls[call_index]; 355 CallSpecific *call = &av->calls[call_index];
356 356
357 if ( call->crtps[audio_index] && -1 == rtp_terminate_session(call->crtps[audio_index], av->messenger) ) { 357 if ( call->crtps[audio_index] && -1 == rtp_terminate_session(call->crtps[audio_index], av->messenger) ) {
@@ -398,7 +398,7 @@ inline__ int toxav_send_rtp_payload ( ToxAv *av, int32_t call_index, ToxAvCallTy
398 uint16_t length ) 398 uint16_t length )
399{ 399{
400 if (cii(call_index, av->msi_session)) return ErrorNoCall; 400 if (cii(call_index, av->msi_session)) return ErrorNoCall;
401 401
402 if ( av->calls[call_index].crtps[type - TypeAudio] ) 402 if ( av->calls[call_index].crtps[type - TypeAudio] )
403 return rtp_send_msg ( av->calls[call_index].crtps[type - TypeAudio], av->msi_session->messenger_handle, payload, 403 return rtp_send_msg ( av->calls[call_index].crtps[type - TypeAudio], av->msi_session->messenger_handle, payload,
404 length ); 404 length );
@@ -418,6 +418,7 @@ inline__ int toxav_send_rtp_payload ( ToxAv *av, int32_t call_index, ToxAvCallTy
418inline__ int toxav_recv_rtp_payload ( ToxAv *av, int32_t call_index, ToxAvCallType type, uint8_t *dest ) 418inline__ int toxav_recv_rtp_payload ( ToxAv *av, int32_t call_index, ToxAvCallType type, uint8_t *dest )
419{ 419{
420 if ( !dest ) return ErrorInternal; 420 if ( !dest ) return ErrorInternal;
421
421 if (cii(call_index, av->msi_session)) return ErrorNoCall; 422 if (cii(call_index, av->msi_session)) return ErrorNoCall;
422 423
423 CallSpecific *call = &av->calls[call_index]; 424 CallSpecific *call = &av->calls[call_index];
@@ -470,6 +471,7 @@ inline__ int toxav_recv_rtp_payload ( ToxAv *av, int32_t call_index, ToxAvCallTy
470inline__ int toxav_recv_video ( ToxAv *av, int32_t call_index, vpx_image_t **output) 471inline__ int toxav_recv_video ( ToxAv *av, int32_t call_index, vpx_image_t **output)
471{ 472{
472 if ( !output ) return ErrorInternal; 473 if ( !output ) return ErrorInternal;
474
473 if (cii(call_index, av->msi_session)) return ErrorNoCall; 475 if (cii(call_index, av->msi_session)) return ErrorNoCall;
474 476
475 uint8_t packet [RTP_PAYLOAD_SIZE]; 477 uint8_t packet [RTP_PAYLOAD_SIZE];
@@ -507,6 +509,7 @@ inline__ int toxav_recv_video ( ToxAv *av, int32_t call_index, vpx_image_t **out
507inline__ int toxav_send_video ( ToxAv *av, int32_t call_index, const uint8_t *frame, int frame_size) 509inline__ int toxav_send_video ( ToxAv *av, int32_t call_index, const uint8_t *frame, int frame_size)
508{ 510{
509 if (cii(call_index, av->msi_session)) return ErrorNoCall; 511 if (cii(call_index, av->msi_session)) return ErrorNoCall;
512
510 return toxav_send_rtp_payload(av, call_index, TypeVideo, frame, frame_size); 513 return toxav_send_rtp_payload(av, call_index, TypeVideo, frame, frame_size);
511} 514}
512 515
@@ -524,7 +527,7 @@ inline__ int toxav_send_video ( ToxAv *av, int32_t call_index, const uint8_t *fr
524inline__ int toxav_prepare_video_frame(ToxAv *av, int32_t call_index, uint8_t *dest, int dest_max, vpx_image_t *input) 527inline__ int toxav_prepare_video_frame(ToxAv *av, int32_t call_index, uint8_t *dest, int dest_max, vpx_image_t *input)
525{ 528{
526 if (cii(call_index, av->msi_session)) return ErrorNoCall; 529 if (cii(call_index, av->msi_session)) return ErrorNoCall;
527 530
528 CallSpecific *call = &av->calls[call_index]; 531 CallSpecific *call = &av->calls[call_index];
529 532
530 int rc = vpx_codec_encode(&call->cs->v_encoder, input, call->cs->frame_counter, 1, 0, MAX_ENCODE_TIME_US); 533 int rc = vpx_codec_encode(&call->cs->v_encoder, input, call->cs->frame_counter, 1, 0, MAX_ENCODE_TIME_US);
@@ -567,6 +570,7 @@ inline__ int toxav_prepare_video_frame(ToxAv *av, int32_t call_index, uint8_t *d
567inline__ int toxav_recv_audio ( ToxAv *av, int32_t call_index, int frame_size, int16_t *dest ) 570inline__ int toxav_recv_audio ( ToxAv *av, int32_t call_index, int frame_size, int16_t *dest )
568{ 571{
569 if ( !dest ) return ErrorInternal; 572 if ( !dest ) return ErrorInternal;
573
570 if (cii(call_index, av->msi_session)) return ErrorNoCall; 574 if (cii(call_index, av->msi_session)) return ErrorNoCall;
571 575
572 CallSpecific *call = &av->calls[call_index]; 576 CallSpecific *call = &av->calls[call_index];
@@ -609,6 +613,7 @@ inline__ int toxav_recv_audio ( ToxAv *av, int32_t call_index, int frame_size, i
609inline__ int toxav_send_audio ( ToxAv *av, int32_t call_index, const uint8_t *frame, int frame_size) 613inline__ int toxav_send_audio ( ToxAv *av, int32_t call_index, const uint8_t *frame, int frame_size)
610{ 614{
611 if (cii(call_index, av->msi_session)) return ErrorNoCall; 615 if (cii(call_index, av->msi_session)) return ErrorNoCall;
616
612 return toxav_send_rtp_payload(av, call_index, TypeAudio, frame, frame_size); 617 return toxav_send_rtp_payload(av, call_index, TypeAudio, frame, frame_size);
613} 618}
614 619
@@ -628,6 +633,7 @@ inline__ int toxav_prepare_audio_frame ( ToxAv *av, int32_t call_index, uint8_t
628 const int16_t *frame, int frame_size) 633 const int16_t *frame, int frame_size)
629{ 634{
630 if (cii(call_index, av->msi_session)) return ErrorNoCall; 635 if (cii(call_index, av->msi_session)) return ErrorNoCall;
636
631 int32_t rc = opus_encode(av->calls[call_index].cs->audio_encoder, frame, frame_size, dest, dest_max); 637 int32_t rc = opus_encode(av->calls[call_index].cs->audio_encoder, frame, frame_size, dest, dest_max);
632 638
633 if (rc < 0) { 639 if (rc < 0) {
@@ -649,7 +655,8 @@ inline__ int toxav_prepare_audio_frame ( ToxAv *av, int32_t call_index, uint8_t
649 */ 655 */
650int toxav_get_peer_transmission_type ( ToxAv *av, int32_t call_index, int peer ) 656int toxav_get_peer_transmission_type ( ToxAv *av, int32_t call_index, int peer )
651{ 657{
652 if ( peer < 0 || cii(call_index, av->msi_session) || !av->msi_session->calls[call_index] || av->msi_session->calls[call_index]->peer_count <= peer ) 658 if ( peer < 0 || cii(call_index, av->msi_session) || !av->msi_session->calls[call_index]
659 || av->msi_session->calls[call_index]->peer_count <= peer )
653 return ErrorInternal; 660 return ErrorInternal;
654 661
655 return av->msi_session->calls[call_index]->type_peer[peer]; 662 return av->msi_session->calls[call_index]->type_peer[peer];
@@ -667,7 +674,8 @@ int toxav_get_peer_id ( ToxAv *av, int32_t call_index, int peer )
667{ 674{
668 assert(av->msi_session); 675 assert(av->msi_session);
669 676
670 if ( peer < 0 || cii(call_index, av->msi_session) || !av->msi_session->calls[call_index] || av->msi_session->calls[call_index]->peer_count <= peer ) 677 if ( peer < 0 || cii(call_index, av->msi_session) || !av->msi_session->calls[call_index]
678 || av->msi_session->calls[call_index]->peer_count <= peer )
671 return ErrorInternal; 679 return ErrorInternal;
672 680
673 return av->msi_session->calls[call_index]->peers[peer]; 681 return av->msi_session->calls[call_index]->peers[peer];