\hypertarget{structagora_1_1rtc_1_1_channel_media_relay_configuration}{}\doxysection{agora\+::rtc\+::Channel\+Media\+Relay\+Configuration Struct Reference}
\label{structagora_1_1rtc_1_1_channel_media_relay_configuration}\index{agora::rtc::ChannelMediaRelayConfiguration@{agora::rtc::ChannelMediaRelayConfiguration}}


Configuration of cross channel media relay.  




{\ttfamily \#include $<$Agora\+Base.\+h$>$}

\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{structagora_1_1rtc_1_1_channel_media_info}{Channel\+Media\+Info}} $\ast$ \mbox{\hyperlink{structagora_1_1rtc_1_1_channel_media_relay_configuration_af2a51196e174ee47a82092d53e9e1dc7}{src\+Info}}
\item 
\mbox{\hyperlink{structagora_1_1rtc_1_1_channel_media_info}{Channel\+Media\+Info}} $\ast$ \mbox{\hyperlink{structagora_1_1rtc_1_1_channel_media_relay_configuration_ae2c49f93de131ba36b41e191d3540570}{dest\+Infos}}
\item 
int \mbox{\hyperlink{structagora_1_1rtc_1_1_channel_media_relay_configuration_ad413ace6e670b016bcc342657a7af6bf}{dest\+Count}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Configuration of cross channel media relay. 

\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{structagora_1_1rtc_1_1_channel_media_relay_configuration_af2a51196e174ee47a82092d53e9e1dc7}\label{structagora_1_1rtc_1_1_channel_media_relay_configuration_af2a51196e174ee47a82092d53e9e1dc7}} 
\index{agora::rtc::ChannelMediaRelayConfiguration@{agora::rtc::ChannelMediaRelayConfiguration}!srcInfo@{srcInfo}}
\index{srcInfo@{srcInfo}!agora::rtc::ChannelMediaRelayConfiguration@{agora::rtc::ChannelMediaRelayConfiguration}}
\doxysubsubsection{\texorpdfstring{srcInfo}{srcInfo}}
{\footnotesize\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_channel_media_info}{Channel\+Media\+Info}}$\ast$ agora\+::rtc\+::\+Channel\+Media\+Relay\+Configuration\+::src\+Info}

The information of the source channel. See {\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_channel_media_info}{Channel\+Media\+Info}}}. It contains the following members\+:
\begin{DoxyItemize}
\item {\ttfamily channel\+Name}\+: The name of the source channel. The default value is {\ttfamily N\+U\+LL}, which means the S\+DK applies the name of the current channel.
\item {\ttfamily token}\+: The {\ttfamily token} for joining the source channel. This token is generated with the {\ttfamily channel\+Name} and {\ttfamily uid} you set in {\ttfamily src\+Info}.
\begin{DoxyItemize}
\item If you have not enabled the App Certificate, set this parameter as the default value {\ttfamily N\+U\+LL}, which means the S\+DK applies the App ID.
\item If you have enabled the App Certificate, you must use the {\ttfamily token} generated with the {\ttfamily channel\+Name} and {\ttfamily uid}, and the {\ttfamily uid} must be set as 0.
\end{DoxyItemize}
\item {\ttfamily uid}\+: The unique user ID to identify the relay stream in the source channel. Agora recommends leaving the default value of 0 unchanged. 
\end{DoxyItemize}\mbox{\Hypertarget{structagora_1_1rtc_1_1_channel_media_relay_configuration_ae2c49f93de131ba36b41e191d3540570}\label{structagora_1_1rtc_1_1_channel_media_relay_configuration_ae2c49f93de131ba36b41e191d3540570}} 
\index{agora::rtc::ChannelMediaRelayConfiguration@{agora::rtc::ChannelMediaRelayConfiguration}!destInfos@{destInfos}}
\index{destInfos@{destInfos}!agora::rtc::ChannelMediaRelayConfiguration@{agora::rtc::ChannelMediaRelayConfiguration}}
\doxysubsubsection{\texorpdfstring{destInfos}{destInfos}}
{\footnotesize\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_channel_media_info}{Channel\+Media\+Info}}$\ast$ agora\+::rtc\+::\+Channel\+Media\+Relay\+Configuration\+::dest\+Infos}

The information of the target channel {\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_channel_media_info}{Channel\+Media\+Info}}}. It contains the following members\+:
\begin{DoxyItemize}
\item {\ttfamily channel\+Name}\+: The name of the target channel.
\item {\ttfamily token}\+: The {\ttfamily token} for joining the target channel. It is generated with the {\ttfamily channel\+Name} and {\ttfamily uid} you set in {\ttfamily dest\+Infos}.
\begin{DoxyItemize}
\item If you have not enabled the App Certificate, set this parameter as the default value {\ttfamily N\+U\+LL}, which means the S\+DK applies the App ID.
\item If you have enabled the App Certificate, you must use the {\ttfamily token} generated with the {\ttfamily channel\+Name} and {\ttfamily uid}.
\end{DoxyItemize}
\item {\ttfamily uid}\+: The unique user ID to identify the relay stream in the target channel. The value ranges from 0 to (2 32-\/1). To avoid user ID conflicts, this user ID must be different from any other user ID in the target channel. The default value is 0, which means the S\+DK generates a random U\+ID. \begin{DoxyNote}{Note}
If the token of any target channel expires, the whole media relay stops; hence Agora recommends that you specify the same expiration time for the tokens of all the target channels. 
\end{DoxyNote}

\end{DoxyItemize}\mbox{\Hypertarget{structagora_1_1rtc_1_1_channel_media_relay_configuration_ad413ace6e670b016bcc342657a7af6bf}\label{structagora_1_1rtc_1_1_channel_media_relay_configuration_ad413ace6e670b016bcc342657a7af6bf}} 
\index{agora::rtc::ChannelMediaRelayConfiguration@{agora::rtc::ChannelMediaRelayConfiguration}!destCount@{destCount}}
\index{destCount@{destCount}!agora::rtc::ChannelMediaRelayConfiguration@{agora::rtc::ChannelMediaRelayConfiguration}}
\doxysubsubsection{\texorpdfstring{destCount}{destCount}}
{\footnotesize\ttfamily int agora\+::rtc\+::\+Channel\+Media\+Relay\+Configuration\+::dest\+Count}

The number of target channels. The default value is 0, and the value range is from 0 to 6. Ensure that the value of this parameter corresponds to the number of {\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_channel_media_info}{Channel\+Media\+Info}}} structs you define in {\ttfamily dest\+Info}. 