tmedia_defaults.h 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. /*
  2. * Copyright (C) 2010-2011 Mamadou Diop.
  3. *
  4. * Contact: Mamadou Diop <diopmamadou(at)doubango[dot]org>
  5. *
  6. * This file is part of Open Source Doubango Framework.
  7. *
  8. * DOUBANGO is free software: you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License as published by
  10. * the Free Software Foundation, either version 3 of the License, or
  11. * (at your option) any later version.
  12. *
  13. * DOUBANGO is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with DOUBANGO.
  20. *
  21. */
  22. #ifndef TINYMEDIA_DEFAULTS_H
  23. #define TINYMEDIA_DEFAULTS_H
  24. #include "tinymedia_config.h"
  25. #include "tmedia_common.h"
  26. TMEDIA_BEGIN_DECLS
  27. TINYMEDIA_API int tmedia_defaults_set_profile(tmedia_profile_t profile);
  28. TINYMEDIA_API tmedia_profile_t tmedia_defaults_get_profile();
  29. TINYMEDIA_API int tmedia_defaults_set_bl(tmedia_bandwidth_level_t bl); // @deprecated
  30. TINYMEDIA_API tmedia_bandwidth_level_t tmedia_defaults_get_bl(); // @deprecated
  31. TINYMEDIA_API int tmedia_defaults_set_congestion_ctrl_enabled(tsk_bool_t enabled);
  32. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_congestion_ctrl_enabled();
  33. TINYMEDIA_API int tmedia_defaults_set_video_fps(int32_t video_fps);
  34. TINYMEDIA_API int32_t tmedia_defaults_get_video_fps();
  35. TINYMEDIA_API int tmedia_defaults_set_video_motion_rank(int32_t video_motion_rank);
  36. TINYMEDIA_API int32_t tmedia_defaults_get_video_motion_rank();
  37. TINYMEDIA_API int tmedia_defaults_set_bandwidth_video_upload_max(int32_t bw_video_up_max_kbps);
  38. TINYMEDIA_API int32_t tmedia_defaults_get_bandwidth_video_upload_max();
  39. TINYMEDIA_API int tmedia_defaults_set_bandwidth_video_download_max(int32_t bw_video_down_max_kbps);
  40. TINYMEDIA_API int32_t tmedia_defaults_get_bandwidth_video_download_max();
  41. TINYMEDIA_API int tmedia_defaults_set_pref_video_size(tmedia_pref_video_size_t pref_video_size);
  42. TINYMEDIA_API tmedia_pref_video_size_t tmedia_defaults_get_pref_video_size();
  43. TINYMEDIA_API int tmedia_defaults_set_pref_video_size_range(tmedia_pref_video_size_t min, tmedia_pref_video_size_t max);
  44. TINYMEDIA_API int tmedia_defaults_get_pref_video_size_range(tmedia_pref_video_size_t *min, tmedia_pref_video_size_t* max);
  45. TINYMEDIA_API int tmedia_defaults_set_adapt_video_size_range_enabled(tsk_bool_t enabled);
  46. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_adapt_video_size_range_enabled();
  47. TINYMEDIA_API int tmedia_defaults_set_jb_margin(int32_t jb_margin_ms);
  48. TINYMEDIA_API int32_t tmedia_defaults_get_jb_margin();
  49. TINYMEDIA_API int tmedia_defaults_set_jb_max_late_rate(int32_t jb_max_late_rate_percent);
  50. TINYMEDIA_API int32_t tmedia_defaults_get_jb_max_late_rate();
  51. TINYMEDIA_API int tmedia_defaults_set_echo_tail(uint32_t echo_tail);
  52. TINYMEDIA_API int tmedia_defaults_set_echo_skew(uint32_t echo_skew);
  53. TINYMEDIA_API uint32_t tmedia_defaults_get_echo_tail();
  54. TINYMEDIA_API uint32_t tmedia_defaults_get_echo_skew();
  55. TINYMEDIA_API int tmedia_defaults_set_echo_supp_enabled(tsk_bool_t echo_supp_enabled);
  56. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_echo_supp_enabled();
  57. TINYMEDIA_API int tmedia_defaults_set_agc_enabled(tsk_bool_t agc_enabled);
  58. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_agc_enabled();
  59. TINYMEDIA_API int tmedia_defaults_set_agc_level(float agc_level);
  60. TINYMEDIA_API float tmedia_defaults_get_agc_level();
  61. TINYMEDIA_API int tmedia_defaults_set_vad_enabled(tsk_bool_t vad_enabled);
  62. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_vad_enabled();
  63. TINYMEDIA_API int tmedia_defaults_set_noise_supp_enabled(tsk_bool_t noise_supp_enabled);
  64. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_noise_supp_enabled();
  65. TINYMEDIA_API int tmedia_defaults_set_noise_supp_level(int32_t noise_supp_level);
  66. TINYMEDIA_API int32_t tmedia_defaults_get_noise_supp_level();
  67. TINYMEDIA_API int tmedia_defaults_set_conditional_ringing_enabled(tsk_bool_t _cond_ringing_enabled);
  68. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_conditional_ringing_enabled();
  69. TINYMEDIA_API int tmedia_defaults_set_100rel_enabled(tsk_bool_t _100rel_enabled);
  70. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_100rel_enabled();
  71. TINYMEDIA_API int tmedia_defaults_set_screen_size(int32_t sx, int32_t sy);
  72. TINYMEDIA_API int32_t tmedia_defaults_get_screen_x();
  73. TINYMEDIA_API int32_t tmedia_defaults_get_screen_y();
  74. TINYMEDIA_API int tmedia_defaults_set_audio_ptime(int32_t audio_ptime);
  75. TINYMEDIA_API int32_t tmedia_defaults_get_audio_ptime();
  76. TINYMEDIA_API int tmedia_defaults_set_audio_channels(int32_t channels_playback, int32_t channels_record);
  77. TINYMEDIA_API int32_t tmedia_defaults_get_audio_channels_playback();
  78. TINYMEDIA_API int32_t tmedia_defaults_get_audio_channels_record();
  79. TINYMEDIA_API int tmedia_defaults_set_audio_gain(int32_t audio_producer_gain, int32_t audio_consumer_gain);
  80. TINYMEDIA_API int32_t tmedia_defaults_get_audio_producer_gain();
  81. TINYMEDIA_API int32_t tmedia_defaults_get_audio_consumer_gain();
  82. TINYMEDIA_API uint16_t tmedia_defaults_get_rtp_port_range_start();
  83. TINYMEDIA_API uint16_t tmedia_defaults_get_rtp_port_range_stop();
  84. TINYMEDIA_API int tmedia_defaults_set_rtp_port_range(uint16_t start, uint16_t stop);
  85. TINYMEDIA_API int tmedia_defaults_set_rtp_symetric_enabled(tsk_bool_t enabled);
  86. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_rtp_symetric_enabled();
  87. TINYMEDIA_API tmedia_type_t tmedia_defaults_get_media_type();
  88. TINYMEDIA_API int tmedia_defaults_set_media_type(tmedia_type_t media_type);
  89. TINYMEDIA_API int tmedia_defaults_set_volume(int32_t volume);
  90. TINYMEDIA_API int32_t tmedia_defaults_get_volume();
  91. TINYMEDIA_API int tmedia_producer_set_friendly_name(tmedia_type_t media_type, const char* friendly_name);
  92. TINYMEDIA_API const char* tmedia_producer_get_friendly_name(tmedia_type_t media_type);
  93. TINYMEDIA_API int32_t tmedia_defaults_get_inv_session_expires();
  94. TINYMEDIA_API int tmedia_defaults_set_inv_session_expires(int32_t timeout);
  95. TINYMEDIA_API const char* tmedia_defaults_get_inv_session_refresher();
  96. TINYMEDIA_API int tmedia_defaults_set_inv_session_refresher(const char* refresher);
  97. TINYMEDIA_API tmedia_srtp_mode_t tmedia_defaults_get_srtp_mode();
  98. TINYMEDIA_API int tmedia_defaults_set_srtp_mode(tmedia_srtp_mode_t mode);
  99. TINYMEDIA_API tmedia_srtp_type_t tmedia_defaults_get_srtp_type();
  100. TINYMEDIA_API int tmedia_defaults_set_srtp_type(tmedia_srtp_type_t srtp_type);
  101. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_rtcp_enabled();
  102. TINYMEDIA_API int tmedia_defaults_set_rtcp_enabled(tsk_bool_t rtcp_enabled);
  103. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_rtcpmux_enabled();
  104. TINYMEDIA_API int tmedia_defaults_set_rtcpmux_enabled(tsk_bool_t rtcpmux_enabled);
  105. TINYMEDIA_API int tmedia_defaults_set_stun_server(const char* server_ip, uint16_t server_port);
  106. TINYMEDIA_API int tmedia_defaults_get_stun_server(const char** server_ip, uint16_t*const server_port);
  107. TINYMEDIA_API int tmedia_defaults_set_stun_cred(const char* usr_name, const char* usr_pwd);
  108. TINYMEDIA_API int tmedia_defaults_get_stun_cred(const char** usr_name, const char** usr_pwd);
  109. TINYMEDIA_API int tmedia_defaults_set_stun_enabled(tsk_bool_t stun_enabled);
  110. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_stun_enabled();
  111. TINYMEDIA_API int tmedia_defaults_set_icestun_enabled(tsk_bool_t icestun_enabled);
  112. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_icestun_enabled();
  113. TINYMEDIA_API int tmedia_defaults_set_iceturn_enabled(tsk_bool_t iceturn_enabled);
  114. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_iceturn_enabled();
  115. TINYMEDIA_API int tmedia_defaults_set_ice_enabled(tsk_bool_t ice_enabled);
  116. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_ice_enabled();
  117. TINYMEDIA_API int tmedia_defaults_set_bypass_encoding(tsk_bool_t enabled);
  118. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_bypass_encoding();
  119. TINYMEDIA_API int tmedia_defaults_set_bypass_decoding(tsk_bool_t enabled);
  120. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_bypass_decoding();
  121. TINYMEDIA_API int tmedia_defaults_set_videojb_enabled(tsk_bool_t enabled);
  122. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_videojb_enabled();
  123. TINYMEDIA_API int tmedia_defaults_set_video_zeroartifacts_enabled(tsk_bool_t enabled);
  124. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_video_zeroartifacts_enabled();
  125. TINYMEDIA_API int tmedia_defaults_set_rtpbuff_size(tsk_size_t rtpbuff_size);
  126. TINYMEDIA_API tsk_size_t tmedia_defaults_get_rtpbuff_size();
  127. TINYMEDIA_API int tmedia_defaults_set_avpf_tail(tsk_size_t tail_min, tsk_size_t tail_max);
  128. TINYMEDIA_API int tmedia_defaults_set_avpf_mode(enum tmedia_mode_e mode);
  129. TINYMEDIA_API enum tmedia_mode_e tmedia_defaults_get_avpf_mode();
  130. TINYMEDIA_API tsk_size_t tmedia_defaults_get_avpf_tail_min();
  131. TINYMEDIA_API tsk_size_t tmedia_defaults_get_avpf_tail_max();
  132. TINYMEDIA_API int tmedia_defaults_set_opus_maxcapturerate(uint32_t opus_maxcapturerate);
  133. TINYMEDIA_API uint32_t tmedia_defaults_get_opus_maxcapturerate();
  134. TINYMEDIA_API int tmedia_defaults_set_opus_maxplaybackrate(uint32_t opus_maxplaybackrate);
  135. TINYMEDIA_API uint32_t tmedia_defaults_get_opus_maxplaybackrate();
  136. TINYMEDIA_API int tmedia_defaults_set_ssl_certs(const char* priv_path, const char* pub_path, const char* ca_path, tsk_bool_t verify);
  137. TINYMEDIA_API int tmedia_defaults_get_ssl_certs(const char** priv_path, const char** pub_path, const char** ca_path, tsk_bool_t *verify);
  138. TINYMEDIA_API int tmedia_defaults_set_max_fds(int32_t max_fds);
  139. TINYMEDIA_API tsk_size_t tmedia_defaults_get_max_fds();
  140. TINYMEDIA_API int tmedia_defaults_set_webproxy_auto_detect(tsk_bool_t auto_detect);
  141. TINYMEDIA_API tsk_bool_t tmedia_defaults_get_webproxy_auto_detect();
  142. TINYMEDIA_API int tmedia_defaults_set_webproxy_info(const char* type, const char* host, unsigned short port, const char* login, const char* password);
  143. TINYMEDIA_API int tmedia_defaults_get_webproxy_info(const char** type, const char** host, unsigned short* port, const char** login, const char** password);
  144. TMEDIA_END_DECLS
  145. #endif /* TINYMEDIA_DEFAULTS_H */