diff options
Diffstat (limited to 'toxav/toxav.c')
-rw-r--r-- | toxav/toxav.c | 18 |
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 | |||
351 | int toxav_kill_transmission ( ToxAv *av, int32_t call_index ) | 351 | int 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 | |||
418 | inline__ int toxav_recv_rtp_payload ( ToxAv *av, int32_t call_index, ToxAvCallType type, uint8_t *dest ) | 418 | inline__ 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 | |||
470 | inline__ int toxav_recv_video ( ToxAv *av, int32_t call_index, vpx_image_t **output) | 471 | inline__ 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 | |||
507 | inline__ int toxav_send_video ( ToxAv *av, int32_t call_index, const uint8_t *frame, int frame_size) | 509 | inline__ 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 | |||
524 | inline__ int toxav_prepare_video_frame(ToxAv *av, int32_t call_index, uint8_t *dest, int dest_max, vpx_image_t *input) | 527 | inline__ 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 | |||
567 | inline__ int toxav_recv_audio ( ToxAv *av, int32_t call_index, int frame_size, int16_t *dest ) | 570 | inline__ 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 | |||
609 | inline__ int toxav_send_audio ( ToxAv *av, int32_t call_index, const uint8_t *frame, int frame_size) | 613 | inline__ 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 | */ |
650 | int toxav_get_peer_transmission_type ( ToxAv *av, int32_t call_index, int peer ) | 656 | int 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]; |