diff options
Diffstat (limited to 'pjsip/include/pjsua2/endpoint.hpp')
-rw-r--r-- | pjsip/include/pjsua2/endpoint.hpp | 60 |
1 files changed, 56 insertions, 4 deletions
diff --git a/pjsip/include/pjsua2/endpoint.hpp b/pjsip/include/pjsua2/endpoint.hpp index 0001da1b..7d71231a 100644 --- a/pjsip/include/pjsua2/endpoint.hpp +++ b/pjsip/include/pjsua2/endpoint.hpp @@ -1069,6 +1069,13 @@ public: */ AudDevManager &audDevManager(); + /** + * Get the instance of Video Device Manager. + * + * @return The Video Device Manager. + */ + VidDevManager &vidDevManager(); + /************************************************************************* * Codec management operations */ @@ -1095,10 +1102,10 @@ public: /** * Get codec parameters. * - * @param codec_id Codec ID. + * @param codec_id Codec ID. * - * @return Codec parameters. If codec is not found, Error - * will be thrown. + * @return Codec parameters. If codec is not found, Error + * will be thrown. * */ CodecParam codecGetParam(const string &codec_id) const throw(Error); @@ -1114,6 +1121,47 @@ public: void codecSetParam(const string &codec_id, const CodecParam param) throw(Error); + /** + * Enum all supported video codecs in the system. + * + * @return Array of video codec info. + */ + const CodecInfoVector &videoCodecEnum() throw(Error); + + /** + * Change video codec priority. + * + * @param codec_id Codec ID, which is a string that uniquely identify + * the codec (such as "H263/90000"). Please see pjsua + * manual or pjmedia codec reference for details. + * @param priority Codec priority, 0-255, where zero means to disable + * the codec. + * + */ + void videoCodecSetPriority(const string &codec_id, + pj_uint8_t priority) throw(Error); + + /** + * Get video codec parameters. + * + * @param codec_id Codec ID. + * + * @return Codec parameters. If codec is not found, Error + * will be thrown. + * + */ + CodecParam videoCodecGetParam(const string &codec_id) const throw(Error); + + /** + * Set video codec parameters. + * + * @param codec_id Codec ID. + * @param param Codec parameter to set. Set to NULL to reset + * codec parameter to library default settings. + * + */ + void videoCodecSetParam(const string &codec_id, + const CodecParam param) throw(Error); public: /* @@ -1182,7 +1230,9 @@ private: LogWriter *writer; // Custom writer, if any AudioMediaVector mediaList; AudDevManager audioDevMgr; + VidDevManager videoDevMgr; CodecInfoVector codecInfoList; + CodecInfoVector videoCodecInfoList; std::map<pj_thread_t*, pj_thread_desc*> threadDescMap; /* Pending logging */ @@ -1316,7 +1366,9 @@ private: unsigned flags); private: - void clearCodecInfoList(); + void clearCodecInfoList(CodecInfoVector &codec_list); + void updateCodecInfoList(pjsua_codec_info pj_codec[], unsigned count, + CodecInfoVector &codec_list); }; |