27
27
bool (*_toxav_answer)(ToxAV *toxAV, uint32_t friend_number, uint32_t audio_bit_rate, uint32_t video_bit_rate, TOXAV_ERR_ANSWER *error);
28
28
bool (*_toxav_call_control)(ToxAV *toxAV, uint32_t friend_number, TOXAV_CALL_CONTROL control, TOXAV_ERR_CALL_CONTROL *error);
29
29
30
- bool (*_toxav_audio_bit_rate_set )(ToxAV *toxAV, uint32_t friend_number, uint32_t audio_bit_rate, bool force, TOXAV_ERR_SET_BIT_RATE *error);
31
- bool (*_toxav_video_bit_rate_set)(ToxAV *toxAV, uint32_t friend_number, uint32_t audio_bit_rate, bool force, TOXAV_ERR_SET_BIT_RATE *error);
30
+ bool (*_toxav_bit_rate_set )(ToxAV *toxAV, uint32_t friend_number, int32_t audio_bit_rate,
31
+ int32_t video_bit_rate, TOXAV_ERR_BIT_RATE_SET *error);
32
32
33
33
bool (*_toxav_audio_send_frame)(ToxAV *toxAV, uint32_t friend_number, const int16_t *pcm, size_t sample_count, uint8_t channels, uint32_t sampling_rate, TOXAV_ERR_SEND_FRAME *error);
34
34
bool (*_toxav_video_send_frame)(ToxAV *toxAV, uint32_t friend_number, uint16_t width, uint16_t height, const uint8_t *y, const uint8_t *u, const uint8_t *v, TOXAV_ERR_SEND_FRAME *error);
@@ -216,9 +216,9 @@ - (BOOL)sendCallControl:(OCTToxAVCallControl)control toFriendNumber:(OCTToxFrien
216
216
217
217
- (BOOL )setAudioBitRate : (OCTToxAVAudioBitRate)bitRate force : (BOOL )force forFriend : (OCTToxFriendNumber)friendNumber error : (NSError **)error
218
218
{
219
- TOXAV_ERR_SET_BIT_RATE cError;
219
+ TOXAV_ERR_BIT_RATE_SET cError;
220
220
221
- BOOL status = _toxav_audio_bit_rate_set (self.toxAV , friendNumber, bitRate, force , &cError);
221
+ BOOL status = _toxav_bit_rate_set (self.toxAV , friendNumber, bitRate, kOCTToxAVBitRateUnchanged , &cError);
222
222
223
223
[self fillError: error withCErrorSetBitRate: cError];
224
224
@@ -229,9 +229,9 @@ - (BOOL)setAudioBitRate:(OCTToxAVAudioBitRate)bitRate force:(BOOL)force forFrien
229
229
230
230
- (BOOL )setVideoBitRate : (OCTToxAVVideoBitRate)bitRate force : (BOOL )force forFriend : (OCTToxFriendNumber)friendNumber error : (NSError **)error
231
231
{
232
- TOXAV_ERR_SET_BIT_RATE cError;
232
+ TOXAV_ERR_BIT_RATE_SET cError;
233
233
234
- BOOL status = _toxav_video_bit_rate_set (self.toxAV , friendNumber, bitRate, force , &cError);
234
+ BOOL status = _toxav_bit_rate_set (self.toxAV , friendNumber, kOCTToxAVBitRateUnchanged , bitRate , &cError);
235
235
236
236
[self fillError: error withCErrorSetBitRate: cError];
237
237
@@ -287,8 +287,7 @@ - (void)setupCFunctions
287
287
_toxav_answer = toxav_answer;
288
288
_toxav_call_control = toxav_call_control;
289
289
290
- _toxav_audio_bit_rate_set = toxav_audio_bit_rate_set;
291
- _toxav_video_bit_rate_set = toxav_video_bit_rate_set;
290
+ _toxav_bit_rate_set = toxav_bit_rate_set;
292
291
293
292
_toxav_audio_send_frame = toxav_audio_send_frame;
294
293
_toxav_video_send_frame = toxav_video_send_frame;
@@ -298,8 +297,7 @@ - (void)setupCallbacks
298
297
{
299
298
toxav_callback_call (_toxAV, callIncomingCallback, (__bridge void *)(self));
300
299
toxav_callback_call_state (_toxAV, callStateCallback, (__bridge void *)(self));
301
- toxav_callback_audio_bit_rate_status (_toxAV, audioBitRateStatusCallback, (__bridge void *)(self));
302
- toxav_callback_video_bit_rate_status (_toxAV, videoBitRateStatusCallback, (__bridge void *)(self));
300
+ toxav_callback_bit_rate_status (_toxAV, bitRateStatusCallback, (__bridge void *)(self));
303
301
toxav_callback_audio_receive_frame (_toxAV, receiveAudioFrameCallback, (__bridge void *)(self));
304
302
toxav_callback_video_receive_frame (_toxAV, receiveVideoFrameCallback, (__bridge void *)(self));
305
303
}
@@ -354,6 +352,10 @@ - (BOOL)fillError:(NSError **)error withCErrorCall:(TOXAV_ERR_CALL)cError
354
352
code = OCTToxAVErrorCallMalloc;
355
353
failureReason = @" A resource allocation error occured while trying to create the structures required for the call." ;
356
354
break ;
355
+ case TOXAV_ERR_CALL_SYNC:
356
+ code = OCTToxAVErrorCallSync;
357
+ failureReason = @" Synchronization error occurred." ;
358
+ break ;
357
359
case TOXAV_ERR_CALL_FRIEND_NOT_FOUND:
358
360
code = OCTToxAVErrorCallFriendNotFound;
359
361
failureReason = @" The friend number did not designate a valid friend." ;
@@ -391,6 +393,9 @@ - (BOOL)fillError:(NSError **)error withCErrorAnswer:(TOXAV_ERR_ANSWER)cError
391
393
case TOXAV_ERR_ANSWER_OK:
392
394
NSAssert (NO , @" We shouldn't be here!" );
393
395
break ;
396
+ case TOXAV_ERR_ANSWER_SYNC:
397
+ code = OCTToxAVErrorAnswerSync;
398
+ break ;
394
399
case TOXAV_ERR_ANSWER_CODEC_INITIALIZATION:
395
400
code = OCTToxAVErrorAnswerCodecInitialization;
396
401
break ;
@@ -424,6 +429,10 @@ - (BOOL)fillError:(NSError **)error withCErrorControl:(TOXAV_ERR_CALL_CONTROL)cE
424
429
case TOXAV_ERR_CALL_CONTROL_OK:
425
430
NSAssert (NO , @" We shouldn't be here!" );
426
431
break ;
432
+ case TOXAV_ERR_CALL_CONTROL_SYNC:
433
+ code = OCTToxAVErrorControlSync;
434
+ failureReason = @" Synchronization error occurred." ;
435
+ break ;
427
436
case TOXAV_ERR_CALL_CONTROL_FRIEND_NOT_FOUND:
428
437
code = OCTToxAVErrorControlFriendNotFound;
429
438
failureReason = @" The friend number passed did not designate a valid friend." ;
@@ -443,9 +452,9 @@ - (BOOL)fillError:(NSError **)error withCErrorControl:(TOXAV_ERR_CALL_CONTROL)cE
443
452
return YES ;
444
453
}
445
454
446
- - (BOOL )fillError : (NSError **)error withCErrorSetBitRate : (TOXAV_ERR_SET_BIT_RATE )cError
455
+ - (BOOL )fillError : (NSError **)error withCErrorSetBitRate : (TOXAV_ERR_BIT_RATE_SET )cError
447
456
{
448
- if (! error || (cError == TOXAV_ERR_SET_BIT_RATE_OK )) {
457
+ if (! error || (cError == TOXAV_ERR_BIT_RATE_SET_OK )) {
449
458
return NO ;
450
459
}
451
460
@@ -454,18 +463,26 @@ - (BOOL)fillError:(NSError **)error withCErrorSetBitRate:(TOXAV_ERR_SET_BIT_RATE
454
463
NSString *failureReason = nil ;
455
464
456
465
switch (cError) {
457
- case TOXAV_ERR_SET_BIT_RATE_OK :
466
+ case TOXAV_ERR_BIT_RATE_SET_OK :
458
467
NSAssert (NO , @" We shouldn't be here!" );
459
468
break ;
460
- case TOXAV_ERR_SET_BIT_RATE_INVALID:
461
- code = OCTToxAVErrorSetBitRateInvalid;
462
- failureReason = @" The bit rate passed was not one of the supported values." ;
469
+ case TOXAV_ERR_BIT_RATE_SET_SYNC:
470
+ code = OCTToxAVErrorSetBitRateSync;
471
+ failureReason = @" Synchronization error occurred." ;
472
+ break ;
473
+ case TOXAV_ERR_BIT_RATE_SET_INVALID_AUDIO_BIT_RATE:
474
+ code = OCTToxAVErrorSetBitRateInvalidAudioBitRate;
475
+ failureReason = @" The audio bit rate passed was not one of the supported values." ;
463
476
break ;
464
- case TOXAV_ERR_SET_BIT_RATE_FRIEND_NOT_FOUND:
477
+ case TOXAV_ERR_BIT_RATE_SET_INVALID_VIDEO_BIT_RATE:
478
+ code = OCTToxAVErrorSetBitRateInvalidVideoBitRate;
479
+ failureReason = @" The video bit rate passed was not one of the supported values." ;
480
+ break ;
481
+ case TOXAV_ERR_BIT_RATE_SET_FRIEND_NOT_FOUND:
465
482
code = OCTToxAVErrorSetBitRateFriendNotFound;
466
483
failureReason = @" The friend number passed did not designate a valid friend" ;
467
484
break ;
468
- case TOXAV_ERR_SET_BIT_RATE_FRIEND_NOT_IN_CALL :
485
+ case TOXAV_ERR_BIT_RATE_SET_FRIEND_NOT_IN_CALL :
469
486
code = OCTToxAVErrorSetBitRateFriendNotInCall;
470
487
failureReason = @" This client is currently not in a call with the friend" ;
471
488
break ;
@@ -607,34 +624,20 @@ void callStateCallback(ToxAV *cToxAV,
607
624
});
608
625
}
609
626
610
- void audioBitRateStatusCallback (ToxAV *cToxAV,
611
- uint32_t friendNumber,
612
- bool stable,
613
- uint32_t bitRate,
614
- void *userData)
615
- {
616
- OCTToxAV *toxAV = (__bridge OCTToxAV *)userData;
617
-
618
- dispatch_async (dispatch_get_main_queue (), ^{
619
- DDLogCInfo (@" %@ : audioBitRateStatusCallback from friend %d stable: %d bitRate: %d " , toxAV, friendNumber, stable, bitRate);
620
- if ([toxAV.delegate respondsToSelector: @selector (toxAV:audioBitRateChanged:stable:friendNumber: )]) {
621
- [toxAV.delegate toxAV: toxAV audioBitRateChanged: bitRate stable: stable friendNumber: friendNumber];
622
- }
623
- });
624
- }
625
-
626
- void videoBitRateStatusCallback (ToxAV *cToxAV,
627
- uint32_t friendNumber,
628
- bool stable,
629
- uint32_t bitRate,
630
- void *userData)
627
+ void bitRateStatusCallback (ToxAV *cToxAV,
628
+ uint32_t friendNumber,
629
+ uint32_t audio_bit_rate,
630
+ uint32_t video_bit_rate,
631
+ void *userData)
631
632
{
632
633
OCTToxAV *toxAV = (__bridge OCTToxAV *)userData;
633
634
634
635
dispatch_async (dispatch_get_main_queue (), ^{
635
- DDLogCInfo (@" %@ : videoBitRateStatusCallback from friend %d stable: %d bitRate: %d " , toxAV, friendNumber, stable, bitRate);
636
- if ([toxAV.delegate respondsToSelector: @selector (toxAV:videoBitRateChanged:friendNumber:stable: )]) {
637
- [toxAV.delegate toxAV: toxAV videoBitRateChanged: bitRate friendNumber: friendNumber stable: stable];
636
+ DDLogCInfo (@" %@ : bitRateStatusCallback from friend %d audioBitRate: %d videoBitRate: %d " , toxAV, friendNumber, audio_bit_rate, video_bit_rate);
637
+ if ([toxAV.delegate respondsToSelector: @selector (toxAV:bitrateStatusForFriendNumber:audioBitRate:videoBitRate: )]) {
638
+ [toxAV.delegate toxAV: toxAV bitrateStatusForFriendNumber: friendNumber
639
+ audioBitRate: audio_bit_rate
640
+ videoBitRate: video_bit_rate];
638
641
}
639
642
});
640
643
}
0 commit comments