Merge branch 'mannol1-master'

This commit is contained in:
irungentoo 2014-08-02 11:29:27 -04:00
commit 0719a4296e
No known key found for this signature in database
GPG Key ID: 10349DC9BED89E98
4 changed files with 25 additions and 16 deletions

View File

@ -163,11 +163,11 @@ void callback_requ_timeout ( void *av, int32_t call_index, void *_arg )
cast->Alice.status = TimedOut;
}
static void callback_audio(ToxAv *av, int32_t call_index, int16_t *data, int length)
static void callback_audio(ToxAv *av, int32_t call_index, int16_t *data, int length, void *userdata)
{
}
static void callback_video(ToxAv *av, int32_t call_index, vpx_image_t *img)
static void callback_video(ToxAv *av, int32_t call_index, vpx_image_t *img, void *userdata)
{
}
@ -187,8 +187,8 @@ void register_callbacks(ToxAv *av, void *data)
toxav_register_callstate_callback(av, callback_call_type_change, av_OnMediaChange, data);
toxav_register_audio_recv_callback(av, callback_audio);
toxav_register_video_recv_callback(av, callback_video);
toxav_register_audio_recv_callback(av, callback_audio, NULL);
toxav_register_video_recv_callback(av, callback_video, NULL);
}

View File

@ -120,11 +120,11 @@ void callback_requ_timeout ( void *av, int32_t call_index, void *_arg )
//ck_assert_msg(0, "No answer!");
}
static void callback_audio(ToxAv *av, int32_t call_index, int16_t *data, int length)
static void callback_audio(ToxAv *av, int32_t call_index, int16_t *data, int length, void *userdata)
{
}
static void callback_video(ToxAv *av, int32_t call_index, vpx_image_t *img)
static void callback_video(ToxAv *av, int32_t call_index, vpx_image_t *img, void *userdata)
{
}
@ -143,8 +143,8 @@ void register_callbacks(ToxAv *av, void *data)
toxav_register_callstate_callback(av, callback_requ_timeout, av_OnRequestTimeout, data);
toxav_register_audio_recv_callback(av, callback_audio);
toxav_register_video_recv_callback(av, callback_video);
toxav_register_audio_recv_callback(av, callback_audio, NULL);
toxav_register_video_recv_callback(av, callback_video, NULL);
}
/*************************************************************************************************/

View File

@ -104,8 +104,11 @@ struct _ToxAv {
MSISession *msi_session; /** Main msi session */
CallSpecific *calls; /** Per-call params */
void (*audio_callback)(ToxAv *, int32_t, int16_t *, int);
void (*video_callback)(ToxAv *, int32_t, vpx_image_t *);
void (*audio_callback)(ToxAv *, int32_t, int16_t *, int, void *);
void (*video_callback)(ToxAv *, int32_t, vpx_image_t *, void *);
void *audio_callback_userdata;
void *video_callback_userdata;
uint32_t max_calls;
@ -269,9 +272,11 @@ void toxav_register_callstate_callback ( ToxAv *av, ToxAVCallback callback, ToxA
* @param callback The callback
* @return void
*/
void toxav_register_audio_recv_callback (ToxAv *av, void (*callback)(ToxAv *, int32_t, int16_t *, int))
void toxav_register_audio_recv_callback (ToxAv *av, void (*callback)(ToxAv *, int32_t, int16_t *, int, void *),
void *user_data)
{
av->audio_callback = callback;
av->audio_callback_userdata = user_data;
}
/**
@ -280,9 +285,11 @@ void toxav_register_audio_recv_callback (ToxAv *av, void (*callback)(ToxAv *, in
* @param callback The callback
* @return void
*/
void toxav_register_video_recv_callback (ToxAv *av, void (*callback)(ToxAv *, int32_t, vpx_image_t *))
void toxav_register_video_recv_callback (ToxAv *av, void (*callback)(ToxAv *, int32_t, vpx_image_t *, void *),
void *user_data)
{
av->video_callback = callback;
av->video_callback_userdata = user_data;
}
/**
@ -933,7 +940,7 @@ static void decode_video(ToxAv *av, DECODE_PACKET *p)
img = vpx_codec_get_frame(&call->cs->v_decoder, &iter);
if (img && av->video_callback) {
av->video_callback(av, p->call_index, img);
av->video_callback(av, p->call_index, img, av->video_callback_userdata);
} else {
LOGGER_WARNING("Video packet dropped due to missing callback or no image!");
}
@ -961,7 +968,7 @@ static void decode_audio(ToxAv *av, DECODE_PACKET *p)
}
if ( av->audio_callback )
av->audio_callback(av, call_index, dest, dec_size);
av->audio_callback(av, call_index, dest, dec_size, av->audio_callback_userdata);
else
LOGGER_WARNING("Audio packet dropped due to missing callback!");
}

View File

@ -173,7 +173,8 @@ void toxav_register_callstate_callback (ToxAv *av, ToxAVCallback callback, ToxAv
* @param callback The callback
* @return void
*/
void toxav_register_audio_recv_callback (ToxAv *av, void (*callback)(ToxAv *, int32_t, int16_t *, int));
void toxav_register_audio_recv_callback (ToxAv *av, void (*callback)(ToxAv *, int32_t, int16_t *, int, void *),
void *user_data);
/**
* @brief Register callback for recieving video data
@ -182,7 +183,8 @@ void toxav_register_audio_recv_callback (ToxAv *av, void (*callback)(ToxAv *, in
* @param callback The callback
* @return void
*/
void toxav_register_video_recv_callback (ToxAv *av, void (*callback)(ToxAv *, int32_t, vpx_image_t *));
void toxav_register_video_recv_callback (ToxAv *av, void (*callback)(ToxAv *, int32_t, vpx_image_t *, void *),
void *user_data);
/**
* @brief Call user. Use its friend_id.