\hypertarget{interfaceio_1_1agora_1_1rtc2_1_1_i_direct_cdn_streaming_event_handler}{}\doxysection{io.\+agora.\+rtc2.\+I\+Direct\+Cdn\+Streaming\+Event\+Handler Interface Reference}
\label{interfaceio_1_1agora_1_1rtc2_1_1_i_direct_cdn_streaming_event_handler}\index{io.agora.rtc2.IDirectCdnStreamingEventHandler@{io.agora.rtc2.IDirectCdnStreamingEventHandler}}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_direct_cdn_streaming_event_handler_ab533e92d1d91f7a50a5fdcd156db510f}{on\+Direct\+Cdn\+Streaming\+State\+Changed}} (\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_direct_cdn_streaming_state}{Direct\+Cdn\+Streaming\+State}} state, \mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_direct_cdn_streaming_reason}{Direct\+Cdn\+Streaming\+Reason}} reason, String message)
\begin{DoxyCompactList}\small\item\em Occurs when the C\+DN streaming state changes. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_direct_cdn_streaming_event_handler_a4a61cab5c5320ac658cc42d6ffb2e7f8}{on\+Direct\+Cdn\+Streaming\+Stats}} (\mbox{\hyperlink{classio_1_1agora_1_1rtc2_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}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000015}{Deprecated}}]v4.\+6.\+0. \end{DoxyRefDesc}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{interfaceio_1_1agora_1_1rtc2_1_1_i_direct_cdn_streaming_event_handler_ab533e92d1d91f7a50a5fdcd156db510f}\label{interfaceio_1_1agora_1_1rtc2_1_1_i_direct_cdn_streaming_event_handler_ab533e92d1d91f7a50a5fdcd156db510f}} 
\index{io.agora.rtc2.IDirectCdnStreamingEventHandler@{io.agora.rtc2.IDirectCdnStreamingEventHandler}!onDirectCdnStreamingStateChanged@{onDirectCdnStreamingStateChanged}}
\index{onDirectCdnStreamingStateChanged@{onDirectCdnStreamingStateChanged}!io.agora.rtc2.IDirectCdnStreamingEventHandler@{io.agora.rtc2.IDirectCdnStreamingEventHandler}}
\doxysubsubsection{\texorpdfstring{onDirectCdnStreamingStateChanged()}{onDirectCdnStreamingStateChanged()}}
{\footnotesize\ttfamily void io.\+agora.\+rtc2.\+I\+Direct\+Cdn\+Streaming\+Event\+Handler.\+on\+Direct\+Cdn\+Streaming\+State\+Changed (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_direct_cdn_streaming_state}{Direct\+Cdn\+Streaming\+State}}}]{state,  }\item[{\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_direct_cdn_streaming_reason}{Direct\+Cdn\+Streaming\+Reason}}}]{reason,  }\item[{String}]{message }\end{DoxyParamCaption})}



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 \mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_direct_cdn_streaming_state}{Direct\+Cdn\+Streaming\+State}}}. \\
\hline
{\em reason} & Reasons for changes in the status of C\+DN streaming. See {\ttfamily \mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_direct_cdn_streaming_reason}{Direct\+Cdn\+Streaming\+Reason}}}. \\
\hline
{\em message} & The information about the changed streaming state. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{interfaceio_1_1agora_1_1rtc2_1_1_i_direct_cdn_streaming_event_handler_a4a61cab5c5320ac658cc42d6ffb2e7f8}\label{interfaceio_1_1agora_1_1rtc2_1_1_i_direct_cdn_streaming_event_handler_a4a61cab5c5320ac658cc42d6ffb2e7f8}} 
\index{io.agora.rtc2.IDirectCdnStreamingEventHandler@{io.agora.rtc2.IDirectCdnStreamingEventHandler}!onDirectCdnStreamingStats@{onDirectCdnStreamingStats}}
\index{onDirectCdnStreamingStats@{onDirectCdnStreamingStats}!io.agora.rtc2.IDirectCdnStreamingEventHandler@{io.agora.rtc2.IDirectCdnStreamingEventHandler}}
\doxysubsubsection{\texorpdfstring{onDirectCdnStreamingStats()}{onDirectCdnStreamingStats()}}
{\footnotesize\ttfamily void io.\+agora.\+rtc2.\+I\+Direct\+Cdn\+Streaming\+Event\+Handler.\+on\+Direct\+Cdn\+Streaming\+Stats (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_direct_cdn_streaming_stats}{Direct\+Cdn\+Streaming\+Stats}}}]{stats }\end{DoxyParamCaption})}



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{classio_1_1agora_1_1rtc2_1_1_direct_cdn_streaming_stats}{Direct\+Cdn\+Streaming\+Stats}}}. \\
\hline
\end{DoxyParams}
