\hypertarget{classagora_1_1rtc_1_1_i_direct_cdn_streaming_event_handler}{}\doxysection{agora\+::rtc\+::I\+Direct\+Cdn\+Streaming\+Event\+Handler Class Reference}
\label{classagora_1_1rtc_1_1_i_direct_cdn_streaming_event_handler}\index{agora::rtc::IDirectCdnStreamingEventHandler@{agora::rtc::IDirectCdnStreamingEventHandler}}


{\ttfamily \#include $<$I\+Agora\+Rtc\+Engine.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \mbox{\hyperlink{classagora_1_1rtc_1_1_i_direct_cdn_streaming_event_handler_a9bf882aa0de4295e93d663017fdcc30a}{on\+Direct\+Cdn\+Streaming\+State\+Changed}} (D\+I\+R\+E\+C\+T\+\_\+\+C\+D\+N\+\_\+\+S\+T\+R\+E\+A\+M\+I\+N\+G\+\_\+\+S\+T\+A\+TE state, D\+I\+R\+E\+C\+T\+\_\+\+C\+D\+N\+\_\+\+S\+T\+R\+E\+A\+M\+I\+N\+G\+\_\+\+R\+E\+A\+S\+ON reason, const char $\ast$message)
\begin{DoxyCompactList}\small\item\em Occurs when the C\+DN streaming state changes. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{classagora_1_1rtc_1_1_i_direct_cdn_streaming_event_handler_a3bb16942afa82ef4337281a25d96417a}{on\+Direct\+Cdn\+Streaming\+Stats}} (const \mbox{\hyperlink{structagora_1_1rtc_1_1_direct_cdn_streaming_stats}{Direct\+Cdn\+Streaming\+Stats}} \&stats)
\begin{DoxyCompactList}\small\item\em Reports the C\+DN streaming statistics. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The event handler for direct cdn streaming

\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000032}{Deprecated}}]v4.\+6.\+0.\end{DoxyRefDesc}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_direct_cdn_streaming_event_handler_a9bf882aa0de4295e93d663017fdcc30a}\label{classagora_1_1rtc_1_1_i_direct_cdn_streaming_event_handler_a9bf882aa0de4295e93d663017fdcc30a}} 
\index{agora::rtc::IDirectCdnStreamingEventHandler@{agora::rtc::IDirectCdnStreamingEventHandler}!onDirectCdnStreamingStateChanged@{onDirectCdnStreamingStateChanged}}
\index{onDirectCdnStreamingStateChanged@{onDirectCdnStreamingStateChanged}!agora::rtc::IDirectCdnStreamingEventHandler@{agora::rtc::IDirectCdnStreamingEventHandler}}
\doxysubsubsection{\texorpdfstring{onDirectCdnStreamingStateChanged()}{onDirectCdnStreamingStateChanged()}}
{\footnotesize\ttfamily virtual void agora\+::rtc\+::\+I\+Direct\+Cdn\+Streaming\+Event\+Handler\+::on\+Direct\+Cdn\+Streaming\+State\+Changed (\begin{DoxyParamCaption}\item[{D\+I\+R\+E\+C\+T\+\_\+\+C\+D\+N\+\_\+\+S\+T\+R\+E\+A\+M\+I\+N\+G\+\_\+\+S\+T\+A\+TE}]{state,  }\item[{D\+I\+R\+E\+C\+T\+\_\+\+C\+D\+N\+\_\+\+S\+T\+R\+E\+A\+M\+I\+N\+G\+\_\+\+R\+E\+A\+S\+ON}]{reason,  }\item[{const char $\ast$}]{message }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Occurs when the C\+DN streaming state changes. 

When the host directly pushes streams to the C\+DN, if the streaming state changes, the S\+DK triggers this callback to report the changed streaming state, error codes, and other information. You can troubleshoot issues by referring to this callback.


\begin{DoxyParams}{Parameters}
{\em state} & The current C\+DN streaming state. See {\ttfamily D\+I\+R\+E\+C\+T\+\_\+\+C\+D\+N\+\_\+\+S\+T\+R\+E\+A\+M\+I\+N\+G\+\_\+\+S\+T\+A\+TE}. \\
\hline
{\em reason} & Reasons for changes in the status of C\+DN streaming. See {\ttfamily D\+I\+R\+E\+C\+T\+\_\+\+C\+D\+N\+\_\+\+S\+T\+R\+E\+A\+M\+I\+N\+G\+\_\+\+R\+E\+A\+S\+ON}. \\
\hline
{\em message} & The information about the changed streaming state. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_direct_cdn_streaming_event_handler_a3bb16942afa82ef4337281a25d96417a}\label{classagora_1_1rtc_1_1_i_direct_cdn_streaming_event_handler_a3bb16942afa82ef4337281a25d96417a}} 
\index{agora::rtc::IDirectCdnStreamingEventHandler@{agora::rtc::IDirectCdnStreamingEventHandler}!onDirectCdnStreamingStats@{onDirectCdnStreamingStats}}
\index{onDirectCdnStreamingStats@{onDirectCdnStreamingStats}!agora::rtc::IDirectCdnStreamingEventHandler@{agora::rtc::IDirectCdnStreamingEventHandler}}
\doxysubsubsection{\texorpdfstring{onDirectCdnStreamingStats()}{onDirectCdnStreamingStats()}}
{\footnotesize\ttfamily virtual void agora\+::rtc\+::\+I\+Direct\+Cdn\+Streaming\+Event\+Handler\+::on\+Direct\+Cdn\+Streaming\+Stats (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structagora_1_1rtc_1_1_direct_cdn_streaming_stats}{Direct\+Cdn\+Streaming\+Stats}} \&}]{stats }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Reports the C\+DN streaming statistics. 

When the host directly pushes media streams to the C\+DN, the S\+DK triggers this callback every one second.


\begin{DoxyParams}{Parameters}
{\em stats} & The statistics of the current C\+DN streaming. See {\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_direct_cdn_streaming_stats}{Direct\+Cdn\+Streaming\+Stats}}}. \\
\hline
\end{DoxyParams}
