123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675 |
- /*
- * Copyright (C) 2010-2011 Mamadou Diop.
- *
- * Contact: Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * This file is part of Open Source Doubango Framework.
- *
- * DOUBANGO is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * DOUBANGO is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with DOUBANGO.
- *
- */
- #include "MediaSessionMgr.h"
- //
- // QoS
- //
- QoS::QoS(float qavg, float q1 /*= -1.f*/, float q2 /*= -1.f*/, float q3 /*= -1.f*/, float q4 /*= -1.f*/, float q5 /*= -1.f*/)
- : m_Qqvg(qavg)
- , m_VideoInWidth(0)
- , m_VideoOutWidth(0)
- , m_VideoInHeight(0)
- , m_VideoOutHeight(0)
- , m_BandwidthDownKbps(0)
- , m_BandwidthUpKbps(0)
- , m_VideoInAvgFps(0)
- , m_VideoDecAvgTime(0)
- , m_VideoEncAvgTime(0)
- {
- m_Qn[0] = q1;
- m_Qn[1] = q2;
- m_Qn[2] = q3;
- m_Qn[3] = q4;
- m_Qn[4] = q5;
- }
- QoS::~QoS()
- {
- }
- //
- // Codec
- //
- Codec::Codec(const struct tmedia_codec_s* pWrappedCodec)
- {
- m_pWrappedCodec = (struct tmedia_codec_s*)tsk_object_ref(TSK_OBJECT(pWrappedCodec));
- }
- Codec::~Codec()
- {
- TSK_OBJECT_SAFE_FREE(m_pWrappedCodec);
- }
- twrap_media_type_t Codec::getMediaType()
- {
- if(m_pWrappedCodec) {
- switch(m_pWrappedCodec->type) {
- case tmedia_audio:
- return twrap_media_audio;
- case tmedia_video:
- return twrap_media_video;
- case tmedia_msrp:
- return twrap_media_msrp;
- default:
- break;
- }
- }
- return twrap_media_none;
- }
- const char* Codec::getName()
- {
- if(m_pWrappedCodec) {
- return m_pWrappedCodec->name;
- }
- return tsk_null;
- }
- const char* Codec::getDescription()
- {
- if(m_pWrappedCodec) {
- return m_pWrappedCodec->desc;
- }
- return tsk_null;
- }
- const char* Codec::getNegFormat()
- {
- if(m_pWrappedCodec) {
- return m_pWrappedCodec->neg_format ? m_pWrappedCodec->neg_format : m_pWrappedCodec->format;
- }
- return tsk_null;
- }
- int Codec::getAudioSamplingRate()
- {
- if(m_pWrappedCodec && m_pWrappedCodec->plugin) {
- return m_pWrappedCodec->plugin->rate;
- }
- return 0;
- }
- int Codec::getAudioChannels()
- {
- if(m_pWrappedCodec && (m_pWrappedCodec->type & tmedia_audio) && m_pWrappedCodec->plugin) {
- return m_pWrappedCodec->plugin->audio.channels;
- }
- return 0;
- }
- int Codec::getAudioPTime()
- {
- if(m_pWrappedCodec && (m_pWrappedCodec->type & tmedia_audio) && m_pWrappedCodec->plugin) {
- return m_pWrappedCodec->plugin->audio.ptime;
- }
- return 0;
- }
- //
- // MediaSessionMgr
- //
- MediaSessionMgr::MediaSessionMgr(tmedia_session_mgr_t* pWrappedMgr)
- {
- m_pWrappedMgr = (tmedia_session_mgr_t*)tsk_object_ref(pWrappedMgr);
- }
- MediaSessionMgr::~MediaSessionMgr()
- {
- TSK_OBJECT_SAFE_FREE(m_pWrappedMgr);
- }
- bool MediaSessionMgr::sessionSetInt32(twrap_media_type_t media, const char* key, int32_t value)
- {
- tmedia_type_t _media = twrap_get_native_media_type(media);
- return (tmedia_session_mgr_set(m_pWrappedMgr,
- TMEDIA_SESSION_SET_INT32(_media, key, value),
- TMEDIA_SESSION_SET_NULL()) == 0);
- }
- int32_t MediaSessionMgr::sessionGetInt32(twrap_media_type_t media, const char* key)
- {
- int32_t value = 0;
- tmedia_type_t _media = twrap_get_native_media_type(media);
- (tmedia_session_mgr_get(m_pWrappedMgr,
- TMEDIA_SESSION_GET_INT32(_media, key, &value),
- TMEDIA_SESSION_GET_NULL()));
- return value;
- }
- QoS* MediaSessionMgr::sessionGetQoS(twrap_media_type_t media)
- {
- tmedia_type_t _media = twrap_get_native_media_type(media);
- tmedia_session_t* session = tmedia_session_mgr_find(m_pWrappedMgr, _media);
- if (session) {
- QoS* pQoS = new QoS(
- session->qos_metrics.qvag,
- session->qos_metrics.q1,
- session->qos_metrics.q2,
- session->qos_metrics.q3,
- session->qos_metrics.q4,
- session->qos_metrics.q5);
- if (pQoS && ((_media & tmedia_video) || (_media & tmedia_bfcp_video))) {
- pQoS->m_VideoInWidth = session->qos_metrics.video_in_width;
- pQoS->m_VideoInHeight = session->qos_metrics.video_in_height;
- pQoS->m_VideoOutWidth = session->qos_metrics.video_out_width;
- pQoS->m_VideoOutHeight = session->qos_metrics.video_out_height;
- pQoS->m_BandwidthDownKbps = session->qos_metrics.bw_down_est_kbps;
- pQoS->m_BandwidthUpKbps = session->qos_metrics.bw_up_est_kbps;
- pQoS->m_VideoInAvgFps = session->qos_metrics.video_in_avg_fps;
- pQoS->m_VideoDecAvgTime = session->qos_metrics.video_dec_avg_time;
- pQoS->m_VideoEncAvgTime = session->qos_metrics.video_enc_avg_time;
- }
- TSK_OBJECT_SAFE_FREE(session);
- return pQoS;
- }
- return NULL;
- }
- bool MediaSessionMgr::consumerSetInt32(twrap_media_type_t media, const char* key, int32_t value)
- {
- tmedia_type_t _media = twrap_get_native_media_type(media);
- return (tmedia_session_mgr_set(m_pWrappedMgr,
- TMEDIA_SESSION_CONSUMER_SET_INT32(_media, key, value),
- TMEDIA_SESSION_SET_NULL()) == 0);
- }
- bool MediaSessionMgr::consumerSetInt64(twrap_media_type_t media, const char* key, int64_t value)
- {
- tmedia_type_t _media = twrap_get_native_media_type(media);
- return (tmedia_session_mgr_set(m_pWrappedMgr,
- TMEDIA_SESSION_CONSUMER_SET_INT64(_media, key, value),
- TMEDIA_SESSION_SET_NULL()) == 0);
- }
- bool MediaSessionMgr::producerSetInt32(twrap_media_type_t media, const char* key, int32_t value)
- {
- tmedia_type_t _media = twrap_get_native_media_type(media);
- return (tmedia_session_mgr_set(m_pWrappedMgr,
- TMEDIA_SESSION_PRODUCER_SET_INT32(_media, key, value),
- TMEDIA_SESSION_SET_NULL()) == 0);
- }
- bool MediaSessionMgr::producerSetInt64(twrap_media_type_t media, const char* key, int64_t value)
- {
- tmedia_type_t _media = twrap_get_native_media_type(media);
- return (tmedia_session_mgr_set(m_pWrappedMgr,
- TMEDIA_SESSION_PRODUCER_SET_INT64(_media, key, value),
- TMEDIA_SESSION_SET_NULL()) == 0);
- }
- Codec* MediaSessionMgr::producerGetCodec(twrap_media_type_t media)
- {
- tmedia_codec_t* _codec = tsk_null;
- tmedia_type_t _media = twrap_get_native_media_type(media);
- (tmedia_session_mgr_get(m_pWrappedMgr,
- TMEDIA_SESSION_PRODUCER_GET_POBJECT(_media, "codec", &_codec),
- TMEDIA_SESSION_GET_NULL()));
- if(_codec) {
- Codec* pCodec = new Codec(_codec);
- TSK_OBJECT_SAFE_FREE(_codec);
- return pCodec;
- }
- return NULL;
- }
- #include "tinydav/audio/tdav_session_audio.h"
- #include "tinydav/video/tdav_session_video.h"
- #include "ProxyPluginMgr.h"
- const ProxyPlugin* MediaSessionMgr::findProxyPlugin(twrap_media_type_t media, bool consumer)const
- {
- const ProxyPlugin* plugin = tsk_null;
- ProxyPluginMgr* manager = ProxyPluginMgr::getInstance();
- if(media != twrap_media_audio && media != twrap_media_video) {
- TSK_DEBUG_ERROR("Invalid media type");
- return tsk_null;
- }
- if(manager && m_pWrappedMgr) {
- tmedia_type_t _media = twrap_get_native_media_type(media);
- tmedia_session_t* session = tmedia_session_mgr_find(m_pWrappedMgr, _media);
- if(session) {
- if(session->plugin == tdav_session_audio_plugin_def_t) {
- if(consumer) {
- plugin = manager->findPlugin(TDAV_SESSION_AV(session)->consumer);
- }
- else {
- plugin = manager->findPlugin(TDAV_SESSION_AV(session)->producer);
- }
- }
- else if(session->plugin == tdav_session_video_plugin_def_t) {
- if(consumer) {
- plugin = manager->findPlugin(TDAV_SESSION_AV(session)->consumer);
- }
- else {
- plugin = manager->findPlugin(TDAV_SESSION_AV(session)->producer);
- }
- }
- else {
- TSK_DEBUG_ERROR("Unknown session with media type = %d", _media);
- }
- tsk_object_unref(session);
- }
- }
- else {
- TSK_DEBUG_ERROR("Invalid state");
- }
- return plugin;
- }
- // FIXME: create generic function to register any kind and number of plugin from a file
- unsigned int MediaSessionMgr::registerAudioPluginFromFile(const char* path)
- {
- static struct tsk_plugin_s* __plugin = tsk_null;
- if(__plugin) {
- TSK_DEBUG_ERROR("Audio plugin already registered");
- return 0;
- }
- if((__plugin = tsk_plugin_create(path))) {
- unsigned int count = 0;
- tsk_plugin_def_ptr_const_t plugin_def_ptr_const;
- if((plugin_def_ptr_const = tsk_plugin_get_def(__plugin, tsk_plugin_def_type_consumer, tsk_plugin_def_media_type_audio))) {
- if(tmedia_consumer_plugin_register((const tmedia_consumer_plugin_def_t*)plugin_def_ptr_const) == 0) {
- ++count;
- }
- }
- if((plugin_def_ptr_const = tsk_plugin_get_def(__plugin, tsk_plugin_def_type_producer, tsk_plugin_def_media_type_audio))) {
- if(tmedia_producer_plugin_register((const tmedia_producer_plugin_def_t*)plugin_def_ptr_const) == 0) {
- ++count;
- }
- }
- return count;
- }
- TSK_DEBUG_ERROR("Failed to create plugin with path=%s", path);
- return 0;
- }
- uint64_t MediaSessionMgr::getSessionId(twrap_media_type_t media)const
- {
- //const ProxyPlugin* plugin = tsk_null;
- ProxyPluginMgr* manager = ProxyPluginMgr::getInstance();
- uint64_t id = 0;
- if (media != twrap_media_audio && media != twrap_media_video) {
- TSK_DEBUG_ERROR("Invalid media type");
- return 0;
- }
- if (manager && m_pWrappedMgr) {
- tmedia_type_t _media = twrap_get_native_media_type(media);
- tmedia_session_t* session = tmedia_session_mgr_find(m_pWrappedMgr, _media);
- if (session) {
- id = session->id;
- }
- tsk_object_unref(session);
- }
- else {
- TSK_DEBUG_ERROR("Invalid state");
- }
- return id;
- }
- bool MediaSessionMgr::defaultsSetProfile(tmedia_profile_t profile)
- {
- return (tmedia_defaults_set_profile(profile) == 0);
- }
- tmedia_profile_t MediaSessionMgr::defaultsGetProfile()
- {
- return tmedia_defaults_get_profile();
- }
- bool MediaSessionMgr::defaultsSetBandwidthLevel(tmedia_bandwidth_level_t bl) // @deprecated
- {
- return tmedia_defaults_set_bl(bl) == 0;
- }
- tmedia_bandwidth_level_t MediaSessionMgr::defaultsGetBandwidthLevel() // @deprecated
- {
- return tmedia_defaults_get_bl();
- }
- bool MediaSessionMgr::defaultsSetCongestionCtrlEnabled(bool enabled)
- {
- return tmedia_defaults_set_congestion_ctrl_enabled(enabled ? tsk_true : tsk_false) == 0;
- }
- bool MediaSessionMgr::defaultsSetVideoMotionRank(int32_t video_motion_rank)
- {
- return (tmedia_defaults_set_video_motion_rank(video_motion_rank) == 0);
- }
- bool MediaSessionMgr::defaultsSetVideoFps(int32_t video_fps)
- {
- return (tmedia_defaults_set_video_fps(video_fps) == 0);
- }
- bool MediaSessionMgr::defaultsSetBandwidthVideoUploadMax(int32_t bw_video_up_max_kbps)
- {
- return (tmedia_defaults_set_bandwidth_video_upload_max(bw_video_up_max_kbps) == 0);
- }
- bool MediaSessionMgr::defaultsSetBandwidthVideoDownloadMax(int32_t bw_video_down_max_kbps)
- {
- return (tmedia_defaults_set_bandwidth_video_download_max(bw_video_down_max_kbps) == 0);
- }
- bool MediaSessionMgr::defaultsSetPrefVideoSize(tmedia_pref_video_size_t pref_video_size)
- {
- return tmedia_defaults_set_pref_video_size(pref_video_size) == 0;
- }
- bool MediaSessionMgr::defaultsSetPrefVideoSizeOutRange(tmedia_pref_video_size_t min, tmedia_pref_video_size_t max)
- {
- return tmedia_defaults_set_pref_video_size_range(min, max) == 0;
- }
- bool MediaSessionMgr::defaultsSetAdaptativeVideoSizeOutEnabled(bool enabled)
- {
- return tmedia_defaults_set_adapt_video_size_range_enabled(enabled ? tsk_true : tsk_false) == 0;
- }
- bool MediaSessionMgr::defaultsSetJbMargin(uint32_t jb_margin_ms)
- {
- return tmedia_defaults_set_jb_margin(jb_margin_ms) == 0;
- }
- bool MediaSessionMgr::defaultsSetJbMaxLateRate(uint32_t jb_late_rate_percent)
- {
- return tmedia_defaults_set_jb_max_late_rate(jb_late_rate_percent) == 0;
- }
- bool MediaSessionMgr::defaultsSetEchoTail(uint32_t echo_tail)
- {
- return tmedia_defaults_set_echo_tail(echo_tail) == 0;
- }
- uint32_t MediaSessionMgr::defaultsGetEchoTail()
- {
- return tmedia_defaults_get_echo_tail();
- }
- bool MediaSessionMgr::defaultsSetEchoSkew(uint32_t echo_skew)
- {
- return tmedia_defaults_set_echo_skew(echo_skew) == 0;
- }
- bool MediaSessionMgr::defaultsSetEchoSuppEnabled(bool echo_supp_enabled)
- {
- return tmedia_defaults_set_echo_supp_enabled(echo_supp_enabled ? tsk_true : tsk_false) == 0;
- }
- bool MediaSessionMgr::defaultsGetEchoSuppEnabled()
- {
- return tmedia_defaults_get_echo_supp_enabled() ? true : false;
- }
- bool MediaSessionMgr::defaultsSetAgcEnabled(bool agc_enabled)
- {
- return tmedia_defaults_set_agc_enabled(agc_enabled ? tsk_true : tsk_false) == 0;
- }
- bool MediaSessionMgr::defaultsGetAgcEnabled()
- {
- return tmedia_defaults_get_agc_enabled() ? true : false;
- }
- bool MediaSessionMgr::defaultsSetAgcLevel(float agc_level)
- {
- return tmedia_defaults_set_agc_level(agc_level) == 0;
- }
- float MediaSessionMgr::defaultsGetAgcLevel()
- {
- return tmedia_defaults_get_agc_level();
- }
- bool MediaSessionMgr::defaultsSetVadEnabled(bool vad_enabled)
- {
- return tmedia_defaults_set_vad_enabled(vad_enabled ? tsk_true : tsk_false) == 0;
- }
- bool MediaSessionMgr::defaultsGetGetVadEnabled()
- {
- return tmedia_defaults_get_vad_enabled() ? true : false;
- }
- bool MediaSessionMgr::defaultsSetNoiseSuppEnabled(bool noise_supp_enabled)
- {
- return tmedia_defaults_set_noise_supp_enabled(noise_supp_enabled ? tsk_true : tsk_false) == 0;
- }
- bool MediaSessionMgr::defaultsGetNoiseSuppEnabled()
- {
- return tmedia_defaults_get_noise_supp_enabled() ? true : false;
- }
- bool MediaSessionMgr::defaultsSetNoiseSuppLevel(int32_t noise_supp_level)
- {
- return tmedia_defaults_set_noise_supp_level(noise_supp_level) == 0;
- }
- int32_t MediaSessionMgr::defaultsGetNoiseSuppLevel()
- {
- return tmedia_defaults_get_noise_supp_level();
- }
- bool MediaSessionMgr::defaultsSetConditionalRingingEnabled(bool _cond_ringing_enabled)
- {
- return tmedia_defaults_set_conditional_ringing_enabled(_cond_ringing_enabled ? tsk_true : tsk_false) == 0;
- }
- bool MediaSessionMgr::defaultsGetConditionalRingingEnabled()
- {
- return !!tmedia_defaults_get_conditional_ringing_enabled();
- }
- bool MediaSessionMgr::defaultsSet100relEnabled(bool _100rel_enabled)
- {
- return tmedia_defaults_set_100rel_enabled(_100rel_enabled ? tsk_true : tsk_false) == 0;
- }
- bool MediaSessionMgr::defaultsGet100relEnabled()
- {
- return !!tmedia_defaults_get_100rel_enabled();
- }
- bool MediaSessionMgr::defaultsSetScreenSize(int32_t sx, int32_t sy)
- {
- return tmedia_defaults_set_screen_size(sx, sy) == 0;
- }
- bool MediaSessionMgr::defaultsSetAudioGain(int32_t producer_gain, int32_t consumer_gain)
- {
- return tmedia_defaults_set_audio_gain(producer_gain, consumer_gain) == 0;
- }
- bool MediaSessionMgr::defaultsSetAudioPtime(int32_t ptime)
- {
- return tmedia_defaults_set_audio_ptime(ptime) == 0;
- }
- bool MediaSessionMgr::defaultsSetAudioChannels(int32_t channel_playback, int32_t channel_record)
- {
- return tmedia_defaults_set_audio_channels(channel_playback, channel_record) == 0;
- }
- bool MediaSessionMgr::defaultsSetRtpPortRange(uint16_t range_start, uint16_t range_stop)
- {
- return tmedia_defaults_set_rtp_port_range(range_start, range_stop) == 0;
- }
- bool MediaSessionMgr::defaultsSetRtpSymetricEnabled(bool enabled)
- {
- return tmedia_defaults_set_rtp_symetric_enabled(enabled ? tsk_true : tsk_false) == 0;
- }
- bool MediaSessionMgr::defaultsSetMediaType(twrap_media_type_t media_type)
- {
- return (tmedia_defaults_set_media_type(twrap_get_native_media_type(media_type)) == 0);
- }
- bool MediaSessionMgr::defaultsSetVolume(int32_t volume)
- {
- return (tmedia_defaults_set_volume(volume) == 0);
- }
- int32_t MediaSessionMgr::defaultsGetVolume()
- {
- return tmedia_defaults_get_volume();
- }
- bool MediaSessionMgr::defaultsSetInviteSessionTimers(int32_t timeout, const char* refresher)
- {
- int ret = tmedia_defaults_set_inv_session_expires(timeout);
- ret &= tmedia_defaults_set_inv_session_refresher(refresher);
- return (ret == 0);
- }
- bool MediaSessionMgr::defaultsSetSRtpMode(tmedia_srtp_mode_t mode)
- {
- return (tmedia_defaults_set_srtp_mode(mode) == 0);
- }
- tmedia_srtp_mode_t MediaSessionMgr::defaultsGetSRtpMode()
- {
- return tmedia_defaults_get_srtp_mode();
- }
- bool MediaSessionMgr::defaultsSetSRtpType(tmedia_srtp_type_t srtp_type)
- {
- return (tmedia_defaults_set_srtp_type(srtp_type) == 0);
- }
- tmedia_srtp_type_t MediaSessionMgr::defaultsGetSRtpType()
- {
- return tmedia_defaults_get_srtp_type();
- }
- bool MediaSessionMgr::defaultsSetRtcpEnabled(bool enabled)
- {
- return (tmedia_defaults_set_rtcp_enabled(enabled ? tsk_true : tsk_false) == 0);
- }
- bool MediaSessionMgr::defaultsGetRtcpEnabled()
- {
- return (tmedia_defaults_get_rtcp_enabled() == tsk_true);
- }
- bool MediaSessionMgr::defaultsSetRtcpMuxEnabled(bool enabled)
- {
- return (tmedia_defaults_set_rtcpmux_enabled(enabled ? tsk_true : tsk_false) == 0);
- }
- bool MediaSessionMgr::defaultsGetRtcpMuxEnabled()
- {
- return (tmedia_defaults_get_rtcpmux_enabled() == tsk_true);
- }
- bool MediaSessionMgr::defaultsSetStunEnabled(bool stun_enabled)
- {
- return (tmedia_defaults_set_stun_enabled(stun_enabled ? tsk_true : tsk_false) == 0);
- }
- bool MediaSessionMgr::defaultsSetIceStunEnabled(bool icestun_enabled)
- {
- return (tmedia_defaults_set_icestun_enabled(icestun_enabled ? tsk_true : tsk_false) == 0);
- }
- bool MediaSessionMgr::defaultsSetIceTurnEnabled(bool iceturn_enabled)
- {
- return (tmedia_defaults_set_iceturn_enabled(iceturn_enabled ? tsk_true : tsk_false) == 0);
- }
- bool MediaSessionMgr::defaultsSetStunServer(const char* server_ip, uint16_t server_port)
- {
- return (tmedia_defaults_set_stun_server(server_ip, server_port) == 0);
- }
- bool MediaSessionMgr::defaultsSetStunCred(const char* username, const char* password)
- {
- return (tmedia_defaults_set_stun_cred(username, password) == 0);
- }
- bool MediaSessionMgr::defaultsSetIceEnabled(bool ice_enabled)
- {
- return (tmedia_defaults_set_ice_enabled(ice_enabled ? tsk_true : tsk_false) == 0);
- }
- bool MediaSessionMgr::defaultsSetByPassEncoding(bool enabled)
- {
- return (tmedia_defaults_set_bypass_encoding(enabled ? tsk_true : tsk_false) == 0);
- }
- bool MediaSessionMgr::defaultsGetByPassEncoding()
- {
- return (tmedia_defaults_get_bypass_encoding() == tsk_true);
- }
- bool MediaSessionMgr::defaultsSetByPassDecoding(bool enabled)
- {
- return (tmedia_defaults_set_bypass_decoding(enabled ? tsk_true : tsk_false) == 0);
- }
- bool MediaSessionMgr::defaultsGetByPassDecoding()
- {
- return (tmedia_defaults_get_bypass_decoding() == tsk_true);
- }
- bool MediaSessionMgr::defaultsSetVideoJbEnabled(bool enabled)
- {
- return (tmedia_defaults_set_videojb_enabled(enabled ? tsk_true : tsk_false) == 0);
- }
- bool MediaSessionMgr::defaultsGetVideoJbEnabled()
- {
- return (tmedia_defaults_get_videojb_enabled() == tsk_true);
- }
- bool MediaSessionMgr::defaultsSetVideoZeroArtifactsEnabled(bool enabled)
- {
- return (tmedia_defaults_set_video_zeroartifacts_enabled(enabled ? tsk_true : tsk_false) == 0);
- }
- bool MediaSessionMgr::defaultsGetVideoZeroArtifactsEnabled()
- {
- return (tmedia_defaults_get_video_zeroartifacts_enabled() == tsk_true);
- }
- bool MediaSessionMgr::defaultsSetRtpBuffSize(unsigned buffSize)
- {
- return (tmedia_defaults_set_rtpbuff_size(buffSize) == 0);
- }
- unsigned MediaSessionMgr::defaultsGetRtpBuffSize()
- {
- return tmedia_defaults_get_rtpbuff_size();
- }
- bool MediaSessionMgr::defaultsSetAvpfTail(unsigned tail_min, unsigned tail_max)
- {
- return (tmedia_defaults_set_avpf_tail(tail_min, tail_max) == 0);
- }
- bool MediaSessionMgr::defaultsSetAvpfMode(enum tmedia_mode_e mode)
- {
- return (tmedia_defaults_set_avpf_mode(mode) == 0);
- }
- bool MediaSessionMgr::defaultsSetOpusMaxCaptureRate(uint32_t opus_maxcapturerate)
- {
- return (tmedia_defaults_set_opus_maxcapturerate(opus_maxcapturerate) == 0);
- }
- bool MediaSessionMgr::defaultsSetOpusMaxPlaybackRate(uint32_t opus_maxplaybackrate)
- {
- return (tmedia_defaults_set_opus_maxplaybackrate(opus_maxplaybackrate) == 0);
- }
- bool MediaSessionMgr::defaultsSetMaxFds(int32_t max_fds)
- {
- return (tmedia_defaults_set_max_fds(max_fds) == 0);
- }
|