/** * @brief Start new A/V session. There can only be one session at the time. If you register more * it will result in undefined behaviour. * * @param messenger The messenger handle. * @param userdata The agent handling A/V session (i.e. phone). * @param video_width Width of video frame. * @param video_height Height of video frame. * @return ToxAv* * @retval NULL On error. */ ToxAv *toxav_new( Tox* messenger, ToxAvCodecSettings* codec_settings) { ToxAv *av = calloc ( sizeof(ToxAv), 1); if (av == NULL) return NULL; av->messenger = (Messenger *)messenger; av->msi_session = msi_init_session(av->messenger); av->msi_session->agent_handler = av; av->rtp_sessions[0] = av->rtp_sessions [1] = NULL; /* NOTE: This should be user defined or? */ av->j_buf = create_queue(codec_settings->jbuf_capacity); av->cs = codec_init_session(codec_settings->audio_bitrate, codec_settings->audio_frame_duration, codec_settings->audio_sample_rate, codec_settings->audio_channels, codec_settings->video_width, codec_settings->video_height, codec_settings->video_bitrate); return av; }
/** * @brief Start new A/V session. There can only be one session at the time. If you register more * it will result in undefined behaviour. * * @param messenger The messenger handle. * @param userdata The agent handling A/V session (i.e. phone). * @param video_width Width of video frame. * @param video_height Height of video frame. * @return ToxAv* * @retval NULL On error. */ ToxAv *toxav_new( Tox *messenger, int32_t max_calls) { ToxAv *av = calloc ( sizeof(ToxAv), 1); if (av == NULL) { LOGGER_WARNING("Allocation failed!"); return NULL; } av->messenger = (Messenger *)messenger; av->msi_session = msi_init_session(av->messenger, max_calls); av->msi_session->agent_handler = av; av->calls = calloc(sizeof(CallSpecific), max_calls); av->max_calls = max_calls; return av; }