\hypertarget{structagora_1_1rtc_1_1_simulcast_config}{}\doxysection{agora\+::rtc\+::Simulcast\+Config Struct Reference}
\label{structagora_1_1rtc_1_1_simulcast_config}\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}


Configure video streams of different quality levels.  




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

\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_1_1_stream_layer_config}{Stream\+Layer\+Config}}
\begin{DoxyCompactList}\small\item\em Configures the parameters of a specific layer in multi-\/quality video streams. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9}{Stream\+Layer\+Index}} \{ \newline
\mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a9937f7c72a39068a3ff85a008a7cc70d}{S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+1}} = 0, 
\mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9ac9da51231c79444416eb831cb35fb6c7}{S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+2}} = 1, 
\mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a5fced9e209aacbd8041fa5c17b3aa5d9}{S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+3}} = 2, 
\mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a024a693ab4a67e716e739aa4a3ef9b7e}{S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+4}} = 3, 
\newline
\mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a3ba1f6f9d663927900152049170ecec7}{S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+5}} = 4, 
\mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9aeee9171fe9def13d746e80bd592bcb25}{S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+6}} = 5, 
\mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a2571a81653df012e06b314b603a906d0}{S\+T\+R\+E\+A\+M\+\_\+\+L\+OW}} = 6, 
\mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a1d57d1ef34daa64094512a546231d792}{S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+\+C\+O\+U\+N\+T\+\_\+\+M\+AX}} = 7
 \}
\begin{DoxyCompactList}\small\item\em Index of video streams of different quality levels. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_1_1_stream_layer_config}{Stream\+Layer\+Config}} \mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_ad238958ee93d58fac2f92714d01706d8}{configs}} \mbox{[}\mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a1d57d1ef34daa64094512a546231d792}{S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+\+C\+O\+U\+N\+T\+\_\+\+M\+AX}}\mbox{]}
\item 
bool \mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_ae9da7dc68f362db955e880abafa31175}{publish\+\_\+fallback\+\_\+enable}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Configure video streams of different quality levels. 

\begin{DoxySince}{Since}
v4.\+6.\+0 
\end{DoxySince}


\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9}\label{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9}} 
\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}!StreamLayerIndex@{StreamLayerIndex}}
\index{StreamLayerIndex@{StreamLayerIndex}!agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}
\doxysubsubsection{\texorpdfstring{StreamLayerIndex}{StreamLayerIndex}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9}{agora\+::rtc\+::\+Simulcast\+Config\+::\+Stream\+Layer\+Index}}}



Index of video streams of different quality levels. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{STREAM\_LAYER\_1@{STREAM\_LAYER\_1}!agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}!STREAM\_LAYER\_1@{STREAM\_LAYER\_1}}}\mbox{\Hypertarget{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a9937f7c72a39068a3ff85a008a7cc70d}\label{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a9937f7c72a39068a3ff85a008a7cc70d}} 
S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+1&（0）\+: Video stream layer\+\_\+1, with lower resolution and bitrate than V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+H\+I\+GH. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{STREAM\_LAYER\_2@{STREAM\_LAYER\_2}!agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}!STREAM\_LAYER\_2@{STREAM\_LAYER\_2}}}\mbox{\Hypertarget{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9ac9da51231c79444416eb831cb35fb6c7}\label{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9ac9da51231c79444416eb831cb35fb6c7}} 
S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+2&（1）\+: Video stream layer\+\_\+2, with lower resolution and bitrate than V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+1. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{STREAM\_LAYER\_3@{STREAM\_LAYER\_3}!agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}!STREAM\_LAYER\_3@{STREAM\_LAYER\_3}}}\mbox{\Hypertarget{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a5fced9e209aacbd8041fa5c17b3aa5d9}\label{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a5fced9e209aacbd8041fa5c17b3aa5d9}} 
S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+3&（2）\+: Video stream layer\+\_\+3, with lower resolution and bitrate than V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+2. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{STREAM\_LAYER\_4@{STREAM\_LAYER\_4}!agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}!STREAM\_LAYER\_4@{STREAM\_LAYER\_4}}}\mbox{\Hypertarget{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a024a693ab4a67e716e739aa4a3ef9b7e}\label{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a024a693ab4a67e716e739aa4a3ef9b7e}} 
S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+4&（3）\+: Video stream layer\+\_\+4, with lower resolution and bitrate than V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+3. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{STREAM\_LAYER\_5@{STREAM\_LAYER\_5}!agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}!STREAM\_LAYER\_5@{STREAM\_LAYER\_5}}}\mbox{\Hypertarget{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a3ba1f6f9d663927900152049170ecec7}\label{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a3ba1f6f9d663927900152049170ecec7}} 
S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+5&（4）\+: Video stream layer\+\_\+5, with lower resolution and bitrate than V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+4. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{STREAM\_LAYER\_6@{STREAM\_LAYER\_6}!agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}!STREAM\_LAYER\_6@{STREAM\_LAYER\_6}}}\mbox{\Hypertarget{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9aeee9171fe9def13d746e80bd592bcb25}\label{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9aeee9171fe9def13d746e80bd592bcb25}} 
S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+6&（5）\+: Video stream layer\+\_\+6, with lower resolution and bitrate than V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+5. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{STREAM\_LOW@{STREAM\_LOW}!agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}!STREAM\_LOW@{STREAM\_LOW}}}\mbox{\Hypertarget{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a2571a81653df012e06b314b603a906d0}\label{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a2571a81653df012e06b314b603a906d0}} 
S\+T\+R\+E\+A\+M\+\_\+\+L\+OW&（6）\+: Low-\/quality video stream, with the lowest resolution and bitrate. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{STREAM\_LAYER\_COUNT\_MAX@{STREAM\_LAYER\_COUNT\_MAX}!agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}!STREAM\_LAYER\_COUNT\_MAX@{STREAM\_LAYER\_COUNT\_MAX}}}\mbox{\Hypertarget{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a1d57d1ef34daa64094512a546231d792}\label{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a1d57d1ef34daa64094512a546231d792}} 
S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+\+C\+O\+U\+N\+T\+\_\+\+M\+AX&（7）\+: Maximum number of video stream layers. \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{structagora_1_1rtc_1_1_simulcast_config_ad238958ee93d58fac2f92714d01706d8}\label{structagora_1_1rtc_1_1_simulcast_config_ad238958ee93d58fac2f92714d01706d8}} 
\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}!configs@{configs}}
\index{configs@{configs}!agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}
\doxysubsubsection{\texorpdfstring{configs}{configs}}
{\footnotesize\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_1_1_stream_layer_config}{Stream\+Layer\+Config}} agora\+::rtc\+::\+Simulcast\+Config\+::configs\mbox{[}\mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_a45100a882f028ec2a2b5e2020d83e1b9a1d57d1ef34daa64094512a546231d792}{S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+E\+R\+\_\+\+C\+O\+U\+N\+T\+\_\+\+M\+AX}}\mbox{]}}

Configurations for multi-\/layer streaming\+: {\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_simulcast_config_1_1_stream_layer_config}{Stream\+Layer\+Config}}}. \mbox{\Hypertarget{structagora_1_1rtc_1_1_simulcast_config_ae9da7dc68f362db955e880abafa31175}\label{structagora_1_1rtc_1_1_simulcast_config_ae9da7dc68f362db955e880abafa31175}} 
\index{agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}!publish\_fallback\_enable@{publish\_fallback\_enable}}
\index{publish\_fallback\_enable@{publish\_fallback\_enable}!agora::rtc::SimulcastConfig@{agora::rtc::SimulcastConfig}}
\doxysubsubsection{\texorpdfstring{publish\_fallback\_enable}{publish\_fallback\_enable}}
{\footnotesize\ttfamily bool agora\+::rtc\+::\+Simulcast\+Config\+::publish\+\_\+fallback\+\_\+enable}

Whether to enable fallback publishing\+:
\begin{DoxyItemize}
\item {\ttfamily true}\+: Enable fallback publishing. When the device performance or network is poor at the publishing end, the S\+DK will dynamically disable multiple video streams of different quality levels, from layer1 to layer6. At least the video streams of the highest and lowest quality are retained to maintain basic video continuity.
\item {\ttfamily false}\+: (Default) Disable fallback publishing. 
\end{DoxyItemize}