Note\+: Please update this file for every Agora A\+PI change you do. Simply fill in your updates in the Working section below.

\doxysection*{A\+PI (2026-\/08-\/19) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+E\+V\+E\+N\+T\+\_\+\+T\+Y\+P\+E.\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+E\+V\+E\+N\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+F\+O\+C\+A\+L\+\_\+\+L\+E\+N\+G\+T\+H\+\_\+\+A\+P\+P\+L\+I\+ED = 5
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+E\+V\+E\+N\+T\+\_\+\+T\+Y\+P\+E.\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+E\+V\+E\+N\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+F\+O\+C\+A\+L\+\_\+\+L\+E\+N\+G\+T\+H\+\_\+\+F\+A\+L\+L\+B\+A\+C\+K\+\_\+\+T\+O\+\_\+\+D\+E\+F\+A\+U\+LT = 6
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/09-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N.\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+E\+X\+C\+L\+U\+D\+E\+\_\+\+W\+I\+N\+D\+O\+W\+\_\+\+F\+A\+I\+L\+ED = 34
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/08-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+E\+V\+E\+N\+T\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/07-\/28) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Add variables \char`\"{}channel\+Id\char`\"{} in callback function {\ttfamily on\+Encoded\+Video\+Frame\+Received}
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/06-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item Delete publish\+\_\+on\+\_\+demand from Simulcast\+Config
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/06-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item Delete W\+L\+A\+C\+C\+\_\+\+M\+E\+S\+S\+A\+G\+E\+\_\+\+R\+E\+A\+S\+ON, W\+L\+A\+C\+C\+\_\+\+S\+U\+G\+G\+E\+S\+T\+\_\+\+A\+C\+T\+I\+ON, Wl\+Acc\+Stats,
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/05-\/16) }

Add multipath api comment

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum Multipath\+Mode
\item enum Multipath\+Type
\item struct Path\+Stats
\item struct Multipath\+Stats
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/05-\/16) }

Add multipath support

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum Multipath\+Mode
\item enum Multipath\+Type
\item struct Path\+Stats
\item struct Multipath\+Stats
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/04-\/30) }

Add methods for streaming source interfance and observer

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_streaming_source_8h_source}{I\+Agora\+Media\+Streaming\+Source.\+h}} }

{\bfseries{Modify\+:}} deprecated agora cdn interface
\begin{DoxyItemize}
\item int open\+With\+Agora\+C\+D\+N\+Src(const char$\ast$ src, int64\+\_\+t start\+Pos)
\item int get\+Agora\+C\+D\+N\+Line\+Count()
\item int switch\+Agora\+C\+D\+N\+Line\+By\+Index(int index)
\item int get\+Current\+Agora\+C\+D\+N\+Index()
\item int enable\+Auto\+Switch\+Agora\+C\+D\+N(bool enable)
\item int renew\+Agora\+C\+D\+N\+Src\+Token(const char$\ast$ token, int64\+\_\+t ts)
\item int switch\+Agora\+C\+D\+N\+Src(const char$\ast$ src, bool sync\+Pts = false)
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/04-\/30) }

Add methods for streaming source interfance and observer

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_streaming_source_8h_source}{I\+Agora\+Media\+Streaming\+Source.\+h}} }

{\bfseries{Modify\+:}} deprecated agora cdn interface
\begin{DoxyItemize}
\item int open\+With\+Agora\+C\+D\+N\+Src(const char$\ast$ src, int64\+\_\+t start\+Pos)
\item int get\+Agora\+C\+D\+N\+Line\+Count()
\item int switch\+Agora\+C\+D\+N\+Line\+By\+Index(int index)
\item int get\+Current\+Agora\+C\+D\+N\+Index()
\item int enable\+Auto\+Switch\+Agora\+C\+D\+N(bool enable)
\item int renew\+Agora\+C\+D\+N\+Src\+Token(const char$\ast$ token, int64\+\_\+t ts)
\item int switch\+Agora\+C\+D\+N\+Src(const char$\ast$ src, bool sync\+Pts = false)
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/05-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item add Watermark\+Source\+Type enum
\item add Watermark\+Timestamp struct
\item add Watermark\+Litera struct
\item add Watermark\+Buffer struct
\item add Watermark\+Config struct
\item add parameter \textquotesingle{}z\+Order\textquotesingle{} to Watermark\+Options struct
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/02-\/26) }

Add methods for streaming source interfance and observer

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_streaming_source_8h_source}{I\+Agora\+Media\+Streaming\+Source.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item deprecated all interface
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/12-\/18) }

\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT

add player events P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+H\+T\+T\+P\+\_\+\+R\+E\+D\+I\+R\+E\+CT = 19

\doxysection*{A\+PI (2024-\/09-\/26) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Rtc\+Stats\+::lan\+Accelerate\+State
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/10-\/11) }

Changes for media recorder \doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item change Recorder\+Stream\+Type constructor
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/09-\/23) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+G\+E\+N\+E\+R\+I\+C\+\_\+\+H264 is deprecated.
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/09-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item add audio\+Params in Screen\+Capture\+Parameters;
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/09-\/03) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item C\+O\+M\+P\+R\+E\+S\+S\+I\+O\+N\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+CE add P\+R\+E\+F\+E\+R\+\_\+\+G\+E\+N\+E\+R\+AL
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/08-\/27) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Fix an embarrassing compilation warning of Peer\+Downlink\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/08-\/27) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Remove\+:}}
\begin{DoxyItemize}
\item enum V\+I\+D\+E\+O\+\_\+\+D\+E\+N\+O\+I\+S\+E\+R\+\_\+\+L\+E\+V\+E\+L\+::\+V\+I\+D\+E\+O\+\_\+\+D\+E\+N\+O\+I\+S\+E\+R\+\_\+\+L\+E\+V\+E\+L\+\_\+\+S\+T\+R\+E\+N\+G\+TH in Video\+Denoiser\+Options
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/08-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+D\+I\+S\+C\+O\+N\+N\+E\+C\+T\+ED is available for Windows
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/07-\/31) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum V\+I\+D\+E\+O\+\_\+\+A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+PE add A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+L\+I\+V\+E\+S\+H\+OW
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/07-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Refine the explanation of Filter\+Effect\+Options
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/07-\/23) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item add audio\+\_\+track\+\_\+number to Audio\+Pcm\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/07-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Change External\+Video\+Frame\+::fence\+\_\+object to External\+Video\+Frame\+::fence\+Object
\item Change External\+Video\+Frame\+::d3d11\+\_\+texture\+\_\+2d to External\+Video\+Frame\+::d3d11\+Texture2d
\item Change External\+Video\+Frame\+::texture\+\_\+slice\+\_\+index to External\+Video\+Frame\+::texture\+Slice\+Index
\item Change External\+Video\+Frame\+::metadata\+\_\+buffer to External\+Video\+Frame\+::metadata\+Buffer
\item Change External\+Video\+Frame\+::metadata\+\_\+size to External\+Video\+Frame\+::metadata\+Size
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/11-\/01) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} Add A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+A\+I\+\_\+\+S\+E\+R\+V\+ER to enum A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+PE Add A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+A\+I\+\_\+\+C\+L\+I\+E\+NT to enum A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+PE

\doxysection*{A\+PI (2024-\/07-\/03) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item add is\+\_\+stereo to Audio\+Pcm\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/09-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item mark enum C\+L\+I\+E\+N\+T\+\_\+\+R\+O\+L\+E\+\_\+\+C\+H\+A\+N\+G\+E\+\_\+\+F\+A\+I\+L\+E\+D\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+T\+I\+M\+E\+\_\+\+O\+UT as Deprecated
\item mark enum C\+L\+I\+E\+N\+T\+\_\+\+R\+O\+L\+E\+\_\+\+C\+H\+A\+N\+G\+E\+\_\+\+F\+A\+I\+L\+E\+D\+\_\+\+C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+F\+A\+I\+L\+ED as Deprecated
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/07-\/01) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add A\+L\+P\+H\+A\+\_\+\+S\+T\+I\+T\+C\+H\+\_\+\+M\+O\+DE enum \doxysection*{A\+PI (2024-\/06-\/06) }
\end{DoxyItemize}

Changes for media recorder \doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item add Recorder\+Stream\+Type to Recorder\+Stream\+Info \doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }
\end{DoxyItemize}

{\bfseries{Modify\+:}} \doxysubsection*{-\/ add some Media\+Recorder\+Configuration fields }

move \mbox{\hyperlink{_i_agora_media_recorder_8h_source}{I\+Agora\+Media\+Recorder.\+h}} to cpp/base

\doxysection*{A\+PI (2024-\/06-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Remove\+:}}
\begin{DoxyItemize}
\item set\+Default\+Mute\+All\+Remote\+Video\+Streams
\item set\+Default\+Mute\+All\+Remote\+Audio\+Streams
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/04-\/26) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Fix typo of enum L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+D\+I\+S\+P\+L\+A\+Y\+\_\+\+D\+I\+S\+C\+O\+N\+N\+E\+C\+T\+ED
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/06-\/4) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Delete\+:}}
\begin{DoxyItemize}
\item che.\+video.\+h264.\+hwenc
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/06-\/14) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Advance\+Options add encode\+Alpha
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/05-\/27) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item A\+R\+E\+A\+\_\+\+C\+O\+D\+E\+\_\+\+RU
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/05-\/17) }

\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} ~\newline
 {\bfseries{Add\+:}} ~\newline
 Add {\ttfamily struct Color\+Space} ~\newline
 {\bfseries{Modified\+:}} ~\newline
 Add color\+Space in External\+Video\+Frame ~\newline


\doxysection*{A\+PI (2024-\/5-\/14) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add A\+G\+O\+R\+A\+\_\+\+C\+P\+P\+\_\+\+I\+N\+T\+E\+R\+N\+A\+L\+\_\+\+A\+PI macro
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/5-\/09) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item delete open\+With\+Custom\+Source
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/5-\/08) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item revise Extension\+Context interface comment
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/04-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add struct Face\+Shape\+Beauty\+Options and Face\+Shape\+Area\+Options for Face\+Shape Beauty Setting
\item enum F\+A\+C\+E\+\_\+\+S\+H\+A\+P\+E\+\_\+\+B\+E\+A\+U\+T\+Y\+\_\+\+S\+T\+Y\+LE
\item enum F\+A\+C\+E\+\_\+\+S\+H\+A\+P\+E\+\_\+\+A\+R\+EA
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/05-\/11) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Filter\+Effect\+Options
\item const char$\ast$ built\+\_\+in\+\_\+whiten\+\_\+filter
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/4-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Add Extension\+Context struct
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/04-\/26) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+D\+I\+S\+P\+L\+A\+Y\+\_\+\+D\+I\+S\+C\+N\+N\+E\+C\+T\+ED
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/05-\/07) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add fence\+\_\+object in External\+Video\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/04-\/19) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum A\+U\+D\+I\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+O\+P\+U\+S\+MC
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/05-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add alpha\+Stitch\+Mode to External\+Video\+Frame
\item add alpha\+Stitch\+Mode to Video\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/04-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum C\+A\+M\+E\+R\+A\+\_\+\+F\+O\+R\+M\+A\+T\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/02-\/21) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add technical preview note for A\+V1
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/03-\/25) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Remove stream\+Type in Video\+Track\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/6-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add enum type W\+A\+R\+N\+\_\+\+C\+O\+D\+E\+\_\+\+T\+Y\+P\+E\+::\+W\+A\+R\+N\+\_\+\+A\+D\+M\+\_\+\+P\+O\+P\+\_\+\+S\+T\+A\+TE
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/03-\/20) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_log_8h_source}{I\+Agora\+Log.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item add L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/03-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Description of V\+I\+D\+E\+O\+\_\+\+P\+I\+X\+E\+L\+\_\+\+I010 \doxysection*{A\+PI (2024-\/3-\/7) }
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum V\+I\+D\+E\+O\+\_\+\+A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+PE add A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+1\+V1
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/02-\/27) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} ~\newline

\begin{DoxyItemize}
\item Add V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+L\+A\+Y\+ER for V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+PE
\item Add struct Simulcast\+Config
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/03-\/08) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Hdr10\+Metadata\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/02-\/21) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add datastream\+Encryption\+Enabled in Encryption\+Config
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/02-\/23) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Description of alpha\+Buffer
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/02-\/22) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add fill\+Alpha\+Buffer to External\+Video\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/02-\/21) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}} ~\newline

\begin{DoxyItemize}
\item Modify comment of L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+W\+I\+N\+D\+O\+W\+\_\+\+R\+E\+C\+O\+V\+E\+R\+\_\+\+F\+R\+O\+M\+\_\+\+M\+I\+N\+I\+M\+I\+Z\+ED ~\newline

\end{DoxyItemize}

\doxysubsection*{A\+PI (2024-\/02-\/20) }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum A\+U\+D\+I\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+P\+R\+E\+S\+E\+T\+::\+R\+O\+O\+M\+\_\+\+A\+C\+O\+U\+S\+T\+I\+C\+S\+\_\+\+C\+H\+O\+R\+US
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/02-\/19) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add field e2e\+Delay for struct Remote\+Audio\+Stats
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/02-\/07) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+V\+O\+I\+C\+E\+\_\+\+D\+R\+I\+VE to V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE
\item Add class I\+Face\+Info\+Observer
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/02-\/06) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} ~\newline

\begin{DoxyItemize}
\item Add comment for presentation\+Ms
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/02-\/06) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} ~\newline

\begin{DoxyItemize}
\item Add presentation\+Ms to {\ttfamily struct Encoded\+Video\+Frame\+Info} ~\newline

\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/1-\/19) }

add V\+I\+D\+E\+O\+\_\+\+P\+I\+X\+E\+L\+\_\+\+I010 in V\+I\+D\+E\+O\+\_\+\+P\+I\+X\+E\+L\+\_\+\+F\+O\+R\+M\+AT

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item V\+I\+D\+E\+O\+\_\+\+P\+I\+X\+E\+L\+\_\+\+F\+O\+R\+M\+A\+T\+::\+V\+I\+D\+E\+O\+\_\+\+P\+I\+X\+E\+L\+\_\+\+I010
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/12-\/18) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Rdt\+Stream\+Type
\item Rdt\+State
\item R\+DT Error Code
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/12-\/14) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item modify vp9 codec type
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/12-\/20) }

Rename bluetooth related literal in Audio\+Route.

\doxysubsection*{Agora\+Media\+Common\+Base.\+h }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Change Audio\+Route\+::\+R\+O\+U\+T\+E\+\_\+\+H\+E\+A\+D\+S\+E\+T\+B\+L\+U\+E\+T\+O\+O\+TH to Audio\+Route\+::\+R\+O\+U\+T\+E\+\_\+\+B\+L\+U\+E\+T\+O\+O\+T\+H\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+H\+FP
\item Change Audio\+Route\+::\+R\+O\+U\+T\+E\+\_\+\+B\+L\+U\+E\+T\+O\+O\+T\+H\+\_\+\+S\+P\+E\+A\+K\+ER to Audio\+Route\+::\+R\+O\+U\+T\+E\+\_\+\+B\+L\+U\+E\+T\+O\+O\+T\+H\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+A2\+DP
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/12-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add enum E\+A\+R\+\_\+\+M\+O\+N\+I\+T\+O\+R\+I\+N\+G\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+R\+E\+U\+S\+E\+\_\+\+P\+O\+S\+T\+\_\+\+P\+R\+O\+C\+E\+S\+S\+I\+N\+G\+\_\+\+F\+I\+L\+T\+ER
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/12-\/14) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Local\+Access\+Point\+Configuration\+::disable\+Aut
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/12-\/6) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Remove}}
\begin{DoxyItemize}
\item A\+G\+O\+R\+A\+\_\+\+I\+I\+D\+\_\+\+C\+L\+O\+U\+D\+\_\+\+S\+P\+A\+T\+I\+A\+L\+\_\+\+A\+U\+D\+IO
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/11-\/28) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item add Video\+Layout()
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/11-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum C\+O\+N\+T\+E\+N\+T\+\_\+\+I\+N\+S\+P\+E\+C\+T\+\_\+\+C\+L\+O\+U\+D\+\_\+\+M\+O\+D\+E\+R\+A\+T\+I\+ON
\item add server\+Config in Content\+Inspect\+Config
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/11-\/08) }

Add A\+G\+O\+R\+A\+\_\+\+C\+P\+P\+\_\+\+A\+PI Macro.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item A\+G\+O\+R\+A\+\_\+\+C\+P\+P\+\_\+\+A\+PI
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/10-\/08) }

Add R\+O\+U\+T\+E\+\_\+\+B\+L\+U\+E\+T\+O\+O\+T\+H\+\_\+\+S\+P\+E\+A\+K\+ER in Audio\+Route.

\doxysubsection*{Agora\+Media\+Common\+Base.\+h }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Audio\+Route\+::\+R\+O\+U\+T\+E\+\_\+\+B\+L\+U\+E\+T\+O\+O\+T\+H\+\_\+\+S\+P\+E\+A\+K\+ER {\bfseries{Modify\+:}}
\item Make comments for Audio\+Route more accurate
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/10-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add rtp\+Timestamp in Audio\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/10-\/31) }

Agora\+Common\+Base.\+h {\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Change L\+O\+C\+A\+L\+\_\+\+A\+U\+D\+I\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+E\+R\+R\+OR to L\+O\+C\+A\+L\+\_\+\+A\+U\+D\+I\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+ON.
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/11-\/23) }

\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}}

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item default codec\+Type set as V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+H265
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/11-\/20) }

Agora\+Common\+Base.\+h \mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} \mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} Agora\+Media\+Common\+Base.\+h {\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Remove fuid api
\end{DoxyItemize}

Agora\+Media\+Common\+Base.\+h {\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Change Recorder\+Error\+Code to Recorder\+Reason\+Code.
\end{DoxyItemize}

\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} {\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Change on\+Recorder\+State\+Changed\+::\+Recorder\+Error\+Code error to Recorder\+Reason\+Code reason.
\end{DoxyItemize}

Agora\+Media\+Base\+S.\+h {\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Change on\+Recorder\+State\+Changed\+::\+Recorder\+Error\+Code error to Recorder\+Reason\+Code reason.
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/11-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item fix enum Recorder\+State comment
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/09-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item add engine.\+video.\+minor\+\_\+codec\+\_\+type
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/09-\/13) }

\doxysubsection*{Agora\+Common\+Base.\+h }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Change I\+N\+V\+A\+L\+I\+D\+\_\+\+D\+I\+S\+P\+L\+A\+Y\+\_\+\+ID from (-\/1) to (-\/2)
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/09-\/13) }

\doxysubsection*{Agora\+Common\+Base.\+h }

{\bfseries{Remove\+:}} remove error code V\+T\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+OK

\doxysection*{A\+PI (2023-\/10-\/10) }

\doxysubsection*{Agora\+Mediabase.\+h }

{\bfseries{Modify}}
\begin{DoxyItemize}
\item move I\+Media\+Recorder\+Observer \& I\+Media\+Recorder\+ObserverS to correct position
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/08-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N.\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+W\+I\+N\+D\+O\+W\+\_\+\+R\+E\+C\+O\+V\+E\+R\+\_\+\+F\+R\+O\+M\+\_\+\+M\+I\+N\+I\+M\+I\+Z\+ED = 27
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/08-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} add ear\+Monitor\+Delay and aec\+Estimated\+Delay in struct Local\+Audio\+Stats
\begin{DoxyItemize}
\item struct Local\+Audio\+Stats
\begin{DoxyItemize}
\item ear\+Monitor\+Delay
\item aec\+Estimated\+Delay
\end{DoxyItemize}
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/08-\/14) }

\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} {\bfseries{Add\+:}}
\begin{DoxyItemize}
\item N\+E\+T\+W\+O\+R\+K\+\_\+\+T\+Y\+P\+E\+\_\+\+M\+O\+B\+I\+L\+E\+\_\+5G = 6
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/08-\/09) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N.\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+W\+I\+N\+D\+O\+W\+\_\+\+H\+I\+D\+D\+EN = 25
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N.\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+W\+I\+N\+D\+O\+W\+\_\+\+R\+E\+C\+O\+V\+E\+R\+\_\+\+F\+R\+O\+M\+\_\+\+H\+I\+D\+D\+EN = 26
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/08-\/02) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item update code comments
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/08-\/03) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item make destructor of I\+Agora\+Parameter to be protected
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/08-\/01) }

Agora\+Common\+Base.\+h {\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+P\+A\+U\+S\+ED in Video\+Frame
\item add L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+R\+E\+S\+U\+M\+ED in L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+ON

Agora\+Media\+Common\+Base.\+h {\bfseries{Add\+:}}
\item add d3d11\+Texture2d in Video\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/07-\/21) }

\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} {\bfseries{Add\+:}}
\begin{DoxyItemize}
\item C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+C\+H\+A\+N\+G\+E\+D\+\_\+\+C\+E\+R\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+V\+E\+R\+Y\+F\+Y\+\_\+\+F\+A\+I\+L\+U\+RE = 22
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/07-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Audio\+Frame add presentation\+\_\+ms
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/07-\/12) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item optimize comments of struct Audio\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/07-\/05) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+C\+H\+A\+N\+G\+E\+D\+\_\+\+I\+N\+C\+O\+N\+S\+I\+S\+T\+E\+N\+T\+\_\+\+A\+P\+P\+ID
\item enum C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+C\+H\+A\+N\+G\+E\+D\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+N\+O\+T\+\_\+\+A\+V\+A\+I\+L\+A\+B\+LE
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/07-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Modify\+:}} \doxysubsection*{-\/ rename player\+Id to internal\+Player\+Uuid in Player\+Updated\+Info }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add Player\+Playback\+Stats struct
\item add video\+Height in Player\+Updated\+Info
\item add video\+Width in Player\+Updated\+Info
\item add audio\+Sample\+Rate in Player\+Updated\+Info
\item add audio\+Channels in Player\+Updated\+Info
\item add audio\+Bits\+Per\+Sample in Player\+Updated\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/07-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct V\+I\+D\+E\+O\+\_\+\+Q\+O\+E\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+C\+E\+\_\+\+T\+Y\+PE change define value
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/06-\/03) }

\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} {\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item on\+Position\+Changed(int64\+\_\+t position, int64\+\_\+t timestamp)
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/05-\/31) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add texture format in External\+Video\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/05-\/18) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Update comments of L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N.\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+F\+A\+L\+L\+B\+A\+CK
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/07-\/18) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item I\+Agora\+Parameter inherit Ref\+Count\+Interface
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/5-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item class I\+Video\+Frame\+Meta\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/05-\/17) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N.\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+F\+A\+L\+L\+B\+A\+CK = 24
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/06-\/02) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum C\+O\+N\+T\+E\+N\+T\+\_\+\+I\+N\+S\+P\+E\+C\+T\+\_\+\+C\+L\+O\+U\+D\+\_\+\+M\+O\+D\+E\+R\+A\+T\+I\+ON
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/05-\/18) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item C\+H\+A\+N\+N\+E\+L\+\_\+\+M\+E\+D\+I\+A\+\_\+\+R\+E\+L\+A\+Y\+\_\+\+E\+V\+E\+NT
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/07-\/14) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item -\/ Channel\+Media\+Relay\+Configuration\+Base doc
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/05-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add background\+Color to {\ttfamily struct Video\+Canvas}
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/04-\/26) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add Local Ap configs
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/04-\/19) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Recorder\+Stream\+Info
\item struct Recorder\+Stream\+InfoS
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/04-\/17) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item I\+Audio\+Frame\+Observer\+Base\+::\+Audio\+Frame\+::audio\+Track\+Number
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/04-\/10) }

\doxysubsection*{I\+Agora\+Meida\+Player\+Source.\+h }

{\bfseries{Add\+:}} Add new Api in Media Player
\begin{DoxyItemize}
\item select\+Multi\+Audio\+Track
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/03-\/22) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item modidy query\+Codec\+Capability Codec\+Cap\+Info codec\+\_\+info to codec\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/03-\/18) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add position to Video\+Canvas
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum P\+O\+S\+I\+T\+I\+O\+N\+\_\+\+P\+O\+S\+T\+\_\+\+C\+A\+P\+T\+U\+R\+E\+R\+\_\+\+O\+R\+I\+G\+IN
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/03-\/21) }

\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} \doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item fix fuid
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/08-\/09) }

\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} \doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}} \doxysubsection*{-\/ fix fuid\+: modify A\+PI comment }

Agora\+Base\+S.\+h Agora\+Common\+Base.\+h {\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add Agora\+Common\+Base.\+h \& Agora\+Base\+S.\+h
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/03-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add C\+O\+N\+F\+I\+G\+\_\+\+F\+E\+T\+C\+H\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/03-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+C\+A\+P\+A\+B\+I\+L\+I\+T\+Y\+\_\+\+L\+E\+V\+EL
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/03-\/08) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item optimize comments of struct Media\+Source
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/03-\/28) }

\doxysubsection*{Agora\+Media\+Bash.\+h }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item change param name from \char`\"{}type\char`\"{} to \char`\"{}source\+Type\char`\"{}
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/02-\/21) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add \+\_\+\+\_\+deprecated tag
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/02-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum I\+N\+T\+E\+R\+F\+A\+C\+E\+\_\+\+I\+D\+\_\+\+T\+Y\+PE add A\+G\+O\+R\+A\+\_\+\+I\+I\+D\+\_\+\+H265\+\_\+\+T\+R\+A\+N\+S\+C\+O\+D\+ER
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/01-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add enum V\+I\+D\+E\+O\+\_\+\+A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/01-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add enum V\+I\+D\+E\+O\+\_\+\+Q\+O\+E\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+C\+E\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/01-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add interval\+In\+Seconds in Echo\+Test\+Configuration
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/01-\/11) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item On\+Record\+Audio\+Encoded\+Frame rename to on\+Record\+Audio\+Encoded\+Frame
\item On\+Playback\+Audio\+Encoded\+Frame rename to on\+Playback\+Audio\+Encoded\+Frame
\item On\+Mixed\+Audio\+Encoded\+Frame rename to on\+Mixed\+Audio\+Encoded\+Frame
\end{DoxyItemize}

\doxysection*{Agora High Level A\+P\+Is (Working) }

\doxysection*{A\+PI (2023-\/1-\/31) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add pixel\+Buffer in Video\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/1-\/12) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item modify annotation of V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Video\+Frame init matrix by memset
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/1-\/31) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item Remove A\+G\+O\+R\+A\+\_\+\+I\+I\+D\+\_\+\+M\+E\+D\+I\+A\+\_\+\+R\+E\+C\+O\+R\+D\+ER of I\+N\+T\+E\+R\+F\+A\+C\+E\+\_\+\+I\+D\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item on\+Recorder\+State\+Changed add param channel\+Id and uid
\item on\+Recorder\+Info\+Updated add param channel\+Id and uid
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/12-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add A\+U\+D\+I\+O\+\_\+\+A\+I\+N\+S\+\_\+\+M\+O\+DE and modify annotation
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/01-\/06) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item optimize on\+Media\+Player\+Video\+Frame document
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/11-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add field audio\+Playout\+Delay for struct Local\+Audio\+Stats
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/11-\/04) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct External\+Video\+Frame add alpha\+Buffer
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/11-\/1) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item Remove type definition of any\+\_\+document\+\_\+t
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/12-\/08) }

\mbox{[}F\+E\+AT\mbox{]} N\+M\+S-\/9295\+: provide A\+P\+Is for setting first video frame starting tick

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum M\+E\+D\+I\+A\+\_\+\+T\+R\+A\+C\+E\+\_\+\+E\+V\+E\+N\+T\+::\+M\+E\+D\+I\+A\+\_\+\+T\+R\+A\+C\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+V\+I\+D\+E\+O\+\_\+\+D\+E\+C\+O\+D\+ED
\item enum M\+E\+D\+I\+A\+\_\+\+T\+R\+A\+C\+E\+\_\+\+E\+V\+E\+N\+T\+::\+M\+E\+D\+I\+A\+\_\+\+T\+R\+A\+C\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+V\+I\+D\+E\+O\+\_\+\+R\+E\+N\+D\+E\+R\+ED
\item struct Video\+Rendering\+Tracing\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/11-\/1) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item move I\+Parameter\+Engine to rtc\+\_\+engine\+\_\+i.\+h \doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }
\end{DoxyItemize}

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item Advance\+Options add compression\+Preference
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/10-\/28) }

\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} \doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item rename agora\+::media\+::base\+::\+I\+Audio\+Frame\+Observer to \mbox{\hyperlink{classagora_1_1media_1_1_i_audio_pcm_frame_sink}{agora\+::media\+::\+I\+Audio\+Pcm\+Frame\+Sink}}
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/11-\/01) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum C\+A\+M\+E\+R\+A\+\_\+\+S\+T\+A\+B\+I\+L\+I\+Z\+A\+T\+I\+O\+N\+\_\+\+M\+O\+DE \doxysubsection*{Agora\+Enumerates.\+h }
\end{DoxyItemize}

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum Agora\+Camera\+Stabilization\+Mode
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/10-\/26) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum B\+A\+C\+K\+G\+R\+O\+U\+N\+D\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+P\+E\+::\+B\+A\+C\+K\+G\+R\+O\+U\+N\+D\+\_\+\+N\+O\+NE
\item enum B\+A\+C\+K\+G\+R\+O\+U\+N\+D\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+P\+E\+::\+B\+A\+C\+K\+G\+R\+O\+U\+N\+D\+\_\+\+V\+I\+D\+EO \doxysubsection*{Agora\+Enumerates.\+h }
\end{DoxyItemize}

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum Agora\+Virtual\+Background\+Source\+Type\+::\+Agora\+Virtual\+Background\+None
\item enum Agora\+Virtual\+Background\+Source\+Type\+::\+Agora\+Virtual\+Background\+Video \doxysubsection*{Virtual\+Background\+Source.\+java }
\end{DoxyItemize}

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum Virtual\+Background\+Source\+::\+B\+A\+C\+K\+G\+R\+O\+U\+N\+D\+\_\+\+N\+O\+NE
\item enum Virtual\+Background\+Source\+::\+B\+A\+C\+K\+G\+R\+O\+U\+N\+D\+\_\+\+V\+I\+D\+EO
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item on\+Secondary\+Camera\+Capture\+Video\+Frame
\item on\+Secondary\+Pre\+Encode\+Camera\+Video\+Frame
\item on\+Screen\+Capture\+Video\+Frame
\item on\+Pre\+Encode\+Screen\+Video\+Frame
\item on\+Secondary\+Screen\+Capture\+Video\+Frame
\item on\+Secondary\+Pre\+Encode\+Screen\+Video\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/10-\/12) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item enum V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N\+::\+P\+O\+S\+I\+T\+I\+O\+N\+\_\+\+P\+O\+S\+T\+\_\+\+F\+I\+L\+T\+E\+RS
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/10-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum C\+O\+D\+E\+C\+\_\+\+C\+A\+P\+\_\+\+M\+A\+SK
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/09-\/17) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item struct Transcoding\+Video\+Stream M\+E\+D\+I\+A\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE change to V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE
\item struct Transcoding\+Video\+Stream addmedia\+Player\+Id
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item enum V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE change to C\+A\+M\+E\+R\+A\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE
\item on\+Capture\+Video\+Frame add param V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE
\item on\+Pre\+Encode\+Video\+Frame add param V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item on\+Secondary\+Camera\+Capture\+Video\+Frame
\item on\+Secondary\+Pre\+Encode\+Camera\+Video\+Frame
\item on\+Screen\+Capture\+Video\+Frame
\item on\+Pre\+Encode\+Screen\+Video\+Frame
\item on\+Secondary\+Screen\+Capture\+Video\+Frame
\item on\+Secondary\+Pre\+Encode\+Screen\+Video\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/10-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add media\+Player\+Id
\item Remove priv
\item Remove priv\+\_\+size
\item Remove is\+Screen\+View
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/10-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add}}
\begin{DoxyItemize}
\item add \textquotesingle{}enable\+Alpha\+Mask\textquotesingle{} property to Agora\+Rtc\+Video\+Canvas
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/26) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item finetune on agora autoptr
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/26) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item on\+Encoded\+Video\+Frame\+Received
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/09-\/22) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item struct Remote\+Audio\+Stats(move to \mbox{\hyperlink{_i_agora_rtc_engine_8h_source}{rtc\+\_\+engine/\+I\+Agora\+Rtc\+Engine.\+h}})
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/09-\/20) }

\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} \doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified}}
\begin{DoxyItemize}
\item Update the code comments
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/08-\/30) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Change Audio\+Pcm\+Frame\+::capture\+\_\+timestamp from uint32\+\_\+t to int64\+\_\+t in case overflow
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/09-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item delete media\+::base\+::\+M\+A\+X\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+S\+I\+Z\+E\+\_\+\+I\+N\+\_\+\+B\+Y\+TE, and use I\+Metadata\+Observer\+::\+M\+A\+X\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+S\+I\+Z\+E\+\_\+\+I\+N\+\_\+\+B\+Y\+TE instead
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/08-\/30) }

\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} \doxysubsection*{\mbox{\hyperlink{_i_agora_log_8h_source}{I\+Agora\+Log.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Include $<$stdint.\+h$>$ to use fixed width integer types
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/08-\/23) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add setvideo\+Encoder\+Config Advance\+Options
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/9-\/14) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+F\+A\+I\+L\+U\+RE = 21,
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+N\+O\+\_\+\+P\+E\+R\+M\+I\+S\+S\+I\+ON = 22,
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/08-\/22) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item set\+Video\+Encoder\+Configuration Video\+Encoder\+Configuration add C\+O\+M\+P\+R\+E\+S\+S\+I\+O\+N\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+CE compression\+Preference
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/08-\/11) }

\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} change Player\+Stream\+Info.\+duration to millisecond

\doxysection*{A\+PI (2022-\/08-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add A\+U\+D\+I\+O\+\_\+\+T\+R\+A\+C\+K\+\_\+\+T\+Y\+PE enumeration
\item Add Audio\+Track\+Config struct
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/08-\/08) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item struct Screen\+Audio\+Parameters
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/07-\/14) }

Add audio filter preset enum \& add a param for Spatial\+Audio\+Params struct \doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item H\+E\+A\+D\+P\+H\+O\+N\+E\+\_\+\+E\+Q\+U\+A\+L\+I\+Z\+E\+R\+\_\+\+P\+R\+E\+S\+ET
\item Spatial\+Audio\+Params\+::speaker\+\_\+attenuation
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/07-\/13) }

\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} adjust the route enum sequence

\doxysection*{A\+PI (2022-\/07-\/07) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Add operator== for Video\+Format
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/08-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum L\+I\+C\+E\+N\+S\+E\+\_\+\+E\+R\+R\+O\+R\+\_\+\+T\+Y\+PE
\item Add C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+C\+H\+A\+N\+G\+E\+D\+\_\+\+L\+I\+C\+E\+N\+S\+E\+\_\+\+V\+A\+L\+I\+D\+A\+T\+I\+O\+N\+\_\+\+F\+A\+I\+L\+U\+RE
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/09-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}} mark enum R\+E\+L\+A\+Y\+\_\+\+E\+V\+E\+N\+T\+\_\+\+P\+A\+C\+K\+E\+T\+\_\+\+U\+P\+D\+A\+T\+E\+\_\+\+D\+E\+S\+T\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+R\+E\+F\+U\+S\+ED as Deprecated

\doxysection*{A\+PI (2022-\/06-\/30) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item I\+Media\+Player\+Source\textquotesingle{}s mute\+Audio \& is\+Audio\+Muted \& mute\+Video \& is\+Video\+Muted
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/07-\/12) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item Client\+Role\+Options.\+stop\+Microphone\+Recording
\item Client\+Role\+Options.\+stop\+Preview
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/06-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item E\+R\+R\+\_\+\+N\+E\+T\+\_\+\+N\+O\+B\+U\+FS = 15,
\item E\+R\+R\+\_\+\+W\+A\+T\+E\+R\+M\+A\+R\+K\+\_\+\+P\+A\+R\+AM = 124,
\item E\+R\+R\+\_\+\+W\+A\+T\+E\+R\+M\+A\+R\+K\+\_\+\+P\+A\+TH = 125,
\item E\+R\+R\+\_\+\+W\+A\+T\+E\+R\+M\+A\+R\+K\+\_\+\+P\+NG = 126,
\item E\+R\+R\+\_\+\+W\+A\+T\+E\+R\+M\+A\+R\+K\+R\+\_\+\+I\+N\+FO = 127,
\item E\+R\+R\+\_\+\+W\+A\+T\+E\+R\+M\+A\+R\+K\+\_\+\+A\+R\+GB = 128,
\item E\+R\+R\+\_\+\+W\+A\+T\+E\+R\+M\+A\+R\+K\+\_\+\+R\+E\+AD = 129,
\item E\+R\+R\+\_\+\+L\+O\+G\+O\+U\+T\+\_\+\+O\+T\+H\+ER = 400,
\item E\+R\+R\+\_\+\+L\+O\+G\+O\+U\+T\+\_\+\+U\+S\+ER = 401,
\item E\+R\+R\+\_\+\+L\+O\+G\+O\+U\+T\+\_\+\+N\+ET = 402,
\item E\+R\+R\+\_\+\+L\+O\+G\+O\+U\+T\+\_\+\+K\+I\+C\+K\+ED = 403,
\item E\+R\+R\+\_\+\+L\+O\+G\+O\+U\+T\+\_\+\+T\+O\+K\+E\+N\+\_\+\+E\+X\+P\+I\+R\+ED = 405,
\item E\+R\+R\+\_\+\+L\+O\+G\+O\+U\+T\+\_\+\+O\+L\+D\+V\+E\+R\+S\+I\+ON = 406,
\item E\+R\+R\+\_\+\+L\+O\+G\+O\+U\+T\+\_\+\+T\+O\+K\+E\+N\+\_\+\+W\+R\+O\+NG = 407,
\item E\+R\+R\+\_\+\+L\+O\+G\+O\+U\+T\+\_\+\+A\+L\+R\+E\+A\+D\+Y\+\_\+\+L\+O\+G\+O\+UT = 408,
\item E\+R\+R\+\_\+\+L\+O\+G\+I\+N\+\_\+\+O\+T\+H\+ER = 420,
\item E\+R\+R\+\_\+\+L\+O\+G\+I\+N\+\_\+\+N\+ET = 421,
\item E\+R\+R\+\_\+\+L\+O\+G\+I\+N\+\_\+\+F\+A\+I\+L\+ED = 422,
\item E\+R\+R\+\_\+\+L\+O\+G\+I\+N\+\_\+\+C\+A\+N\+C\+E\+L\+ED = 423,
\item E\+R\+R\+\_\+\+L\+O\+G\+I\+N\+\_\+\+T\+O\+K\+E\+N\+\_\+\+E\+X\+P\+I\+R\+ED = 424,
\item E\+R\+R\+\_\+\+L\+O\+G\+I\+N\+\_\+\+T\+O\+K\+E\+N\+\_\+\+K\+I\+C\+K\+ED = 427,
\item E\+R\+R\+\_\+\+L\+O\+G\+I\+N\+\_\+\+A\+L\+R\+E\+A\+D\+Y\+\_\+\+L\+O\+G\+IN = 428,
\item E\+R\+R\+\_\+\+J\+O\+I\+N\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+O\+T\+H\+ER = 440,
\item E\+R\+R\+\_\+\+S\+E\+N\+D\+\_\+\+M\+E\+S\+S\+A\+G\+E\+\_\+\+O\+T\+H\+ER = 440,
\item E\+R\+R\+\_\+\+S\+E\+N\+D\+\_\+\+M\+E\+S\+S\+A\+G\+E\+\_\+\+T\+I\+M\+E\+O\+UT = 441,
\item E\+R\+R\+\_\+\+Q\+U\+E\+R\+Y\+\_\+\+U\+S\+E\+R\+N\+U\+M\+\_\+\+O\+T\+H\+ER = 450,
\item E\+R\+R\+\_\+\+Q\+U\+E\+R\+Y\+\_\+\+U\+S\+E\+R\+N\+U\+M\+\_\+\+T\+I\+M\+E\+O\+UT = 451,
\item E\+R\+R\+\_\+\+Q\+U\+E\+R\+Y\+\_\+\+U\+S\+E\+R\+N\+U\+M\+\_\+\+B\+Y\+U\+S\+ER = 452,
\item E\+R\+R\+\_\+\+L\+E\+A\+V\+E\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+O\+T\+H\+ER = 460,
\item E\+R\+R\+\_\+\+L\+E\+A\+V\+E\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+K\+I\+C\+K\+ED = 461,
\item E\+R\+R\+\_\+\+L\+E\+A\+V\+E\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+B\+Y\+U\+S\+ER = 462,
\item E\+R\+R\+\_\+\+L\+E\+A\+V\+E\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+L\+O\+G\+O\+UT = 463,
\item E\+R\+R\+\_\+\+L\+E\+A\+V\+E\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+D\+I\+S\+C\+O\+N\+N\+E\+C\+T\+ED = 464,
\item E\+R\+R\+\_\+\+I\+N\+V\+I\+T\+E\+\_\+\+O\+T\+H\+ER = 470,
\item E\+R\+R\+\_\+\+I\+N\+V\+I\+T\+E\+\_\+\+R\+E\+I\+N\+V\+I\+TE = 471,
\item E\+R\+R\+\_\+\+I\+N\+V\+I\+T\+E\+\_\+\+N\+ET = 472,
\item E\+R\+R\+\_\+\+I\+N\+V\+I\+T\+E\+\_\+\+P\+E\+E\+R\+\_\+\+O\+F\+F\+L\+I\+NE = 473,
\item E\+R\+R\+\_\+\+I\+N\+V\+I\+T\+E\+\_\+\+T\+I\+M\+E\+O\+UT = 474,
\item E\+R\+R\+\_\+\+I\+N\+V\+I\+T\+E\+\_\+\+C\+A\+N\+T\+\_\+\+R\+E\+CV = 475,
\item E\+R\+R\+\_\+\+S\+T\+A\+R\+T\+\_\+\+C\+A\+LL = 1002,
\item E\+R\+R\+\_\+\+S\+T\+A\+R\+T\+\_\+\+C\+A\+M\+E\+RA = 1003,
\item E\+R\+R\+\_\+\+S\+T\+A\+R\+T\+\_\+\+V\+I\+D\+E\+O\+\_\+\+R\+E\+N\+D\+ER = 1004,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+J\+A\+V\+A\+\_\+\+R\+E\+S\+O\+U\+R\+CE = 1006,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+S\+A\+M\+P\+L\+E\+\_\+\+R\+A\+TE = 1007,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+R\+U\+N\+T\+I\+M\+E\+\_\+\+P\+L\+A\+Y\+O\+U\+T\+\_\+\+E\+R\+R\+OR = 1015,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+R\+U\+N\+T\+I\+M\+E\+\_\+\+R\+E\+C\+O\+R\+D\+I\+N\+G\+\_\+\+E\+R\+R\+OR = 1017,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+R\+E\+C\+O\+R\+D\+\_\+\+A\+U\+D\+I\+O\+\_\+\+F\+A\+I\+L\+ED = 1018,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+I\+N\+I\+T\+\_\+\+L\+O\+O\+P\+B\+A\+CK = 1022,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+S\+T\+A\+R\+T\+\_\+\+L\+O\+O\+P\+B\+A\+CK = 1023,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+N\+O\+\_\+\+P\+E\+R\+M\+I\+S\+S\+I\+ON = 1027,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+R\+E\+C\+O\+R\+D\+\_\+\+A\+U\+D\+I\+O\+\_\+\+I\+S\+\_\+\+A\+C\+T\+I\+VE = 1033,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+A\+N\+D\+R\+O\+I\+D\+\_\+\+J\+N\+I\+\_\+\+J\+A\+V\+A\+\_\+\+R\+E\+S\+O\+U\+R\+CE = 1101,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+A\+N\+D\+R\+O\+I\+D\+\_\+\+J\+N\+I\+\_\+\+N\+O\+\_\+\+R\+E\+C\+O\+R\+D\+\_\+\+F\+R\+E\+Q\+U\+E\+N\+CY = 1108,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+A\+N\+D\+R\+O\+I\+D\+\_\+\+J\+N\+I\+\_\+\+N\+O\+\_\+\+P\+L\+A\+Y\+B\+A\+C\+K\+\_\+\+F\+R\+E\+Q\+U\+E\+N\+CY = 1109,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+A\+N\+D\+R\+O\+I\+D\+\_\+\+J\+N\+I\+\_\+\+J\+A\+V\+A\+\_\+\+S\+T\+A\+R\+T\+\_\+\+R\+E\+C\+O\+RD = 1111,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+A\+N\+D\+R\+O\+I\+D\+\_\+\+J\+N\+I\+\_\+\+J\+A\+V\+A\+\_\+\+S\+T\+A\+R\+T\+\_\+\+P\+L\+A\+Y\+B\+A\+CK = 1112,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+A\+N\+D\+R\+O\+I\+D\+\_\+\+J\+N\+I\+\_\+\+J\+A\+V\+A\+\_\+\+R\+E\+C\+O\+R\+D\+\_\+\+E\+R\+R\+OR = 1115,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+A\+N\+D\+R\+O\+I\+D\+\_\+\+O\+P\+E\+N\+S\+L\+\_\+\+C\+R\+E\+A\+T\+E\+\_\+\+E\+N\+G\+I\+NE = 1151,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+A\+N\+D\+R\+O\+I\+D\+\_\+\+O\+P\+E\+N\+S\+L\+\_\+\+C\+R\+E\+A\+T\+E\+\_\+\+A\+U\+D\+I\+O\+\_\+\+R\+E\+C\+O\+R\+D\+ER = 1153,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+A\+N\+D\+R\+O\+I\+D\+\_\+\+O\+P\+E\+N\+S\+L\+\_\+\+S\+T\+A\+R\+T\+\_\+\+R\+E\+C\+O\+R\+D\+E\+R\+\_\+\+T\+H\+R\+E\+AD = 1156,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+A\+N\+D\+R\+O\+I\+D\+\_\+\+O\+P\+E\+N\+S\+L\+\_\+\+C\+R\+E\+A\+T\+E\+\_\+\+A\+U\+D\+I\+O\+\_\+\+P\+L\+A\+Y\+ER = 1157,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+A\+N\+D\+R\+O\+I\+D\+\_\+\+O\+P\+E\+N\+S\+L\+\_\+\+S\+T\+A\+R\+T\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+T\+H\+R\+E\+AD = 1160,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+I\+O\+S\+\_\+\+I\+N\+P\+U\+T\+\_\+\+N\+O\+T\+\_\+\+A\+V\+A\+I\+L\+A\+B\+LE = 1201,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+I\+O\+S\+\_\+\+A\+C\+T\+I\+V\+A\+T\+E\+\_\+\+S\+E\+S\+S\+I\+O\+N\+\_\+\+F\+A\+IL = 1206,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+I\+O\+S\+\_\+\+V\+P\+I\+O\+\_\+\+I\+N\+I\+T\+\_\+\+F\+A\+IL = 1210,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+I\+O\+S\+\_\+\+V\+P\+I\+O\+\_\+\+R\+E\+I\+N\+I\+T\+\_\+\+F\+A\+IL = 1213,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+I\+O\+S\+\_\+\+V\+P\+I\+O\+\_\+\+R\+E\+S\+T\+A\+R\+T\+\_\+\+F\+A\+IL = 1214,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+I\+O\+S\+\_\+\+S\+E\+T\+\_\+\+R\+E\+N\+D\+E\+R\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+F\+A\+IL = 1219,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+I\+O\+S\+\_\+\+S\+E\+S\+S\+I\+O\+N\+\_\+\+S\+A\+M\+P\+L\+E\+R\+A\+T\+R\+\_\+\+Z\+E\+RO = 1221,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+C\+O\+R\+E\+\_\+\+I\+N\+IT = 1301,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+C\+O\+R\+E\+\_\+\+I\+N\+I\+T\+\_\+\+R\+E\+C\+O\+R\+D\+I\+NG = 1303,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+C\+O\+R\+E\+\_\+\+I\+N\+I\+T\+\_\+\+P\+L\+A\+Y\+O\+UT = 1306,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+C\+O\+R\+E\+\_\+\+I\+N\+I\+T\+\_\+\+P\+L\+A\+Y\+O\+U\+T\+\_\+\+N\+U\+LL = 1307,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+C\+O\+R\+E\+\_\+\+S\+T\+A\+R\+T\+\_\+\+R\+E\+C\+O\+R\+D\+I\+NG = 1309,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+C\+O\+R\+E\+\_\+\+C\+R\+E\+A\+T\+E\+\_\+\+R\+E\+C\+\_\+\+T\+H\+R\+E\+AD = 1311,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+C\+O\+R\+E\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+N\+O\+T\+\_\+\+S\+T\+A\+R\+T\+UP = 1314,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+C\+O\+R\+E\+\_\+\+C\+R\+E\+A\+T\+E\+\_\+\+R\+E\+N\+D\+E\+R\+\_\+\+T\+H\+R\+E\+AD = 1319,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+C\+O\+R\+E\+\_\+\+R\+E\+N\+D\+E\+R\+\_\+\+N\+O\+T\+\_\+\+S\+T\+A\+R\+T\+UP = 1320,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+C\+O\+R\+E\+\_\+\+N\+O\+\_\+\+R\+E\+C\+O\+R\+D\+I\+N\+G\+\_\+\+D\+E\+V\+I\+CE = 1322,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+C\+O\+R\+E\+\_\+\+N\+O\+\_\+\+P\+L\+A\+Y\+O\+U\+T\+\_\+\+D\+E\+V\+I\+CE = 1323,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+W\+A\+V\+E\+\_\+\+I\+N\+IT = 1351,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+W\+A\+V\+E\+\_\+\+I\+N\+I\+T\+\_\+\+R\+E\+C\+O\+R\+D\+I\+NG = 1353,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+W\+A\+V\+E\+\_\+\+I\+N\+I\+T\+\_\+\+M\+I\+C\+R\+O\+P\+H\+O\+NE = 1354,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+W\+A\+V\+E\+\_\+\+I\+N\+I\+T\+\_\+\+P\+L\+A\+Y\+O\+UT = 1355,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+W\+A\+V\+E\+\_\+\+I\+N\+I\+T\+\_\+\+S\+P\+E\+A\+K\+ER = 1356,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+W\+A\+V\+E\+\_\+\+S\+T\+A\+R\+T\+\_\+\+R\+E\+C\+O\+R\+D\+I\+NG = 1357,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+W\+I\+N\+\_\+\+W\+A\+V\+E\+\_\+\+S\+T\+A\+R\+T\+\_\+\+P\+L\+A\+Y\+O\+UT = 1358,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+N\+O\+\_\+\+R\+E\+C\+O\+R\+D\+I\+N\+G\+\_\+\+D\+E\+V\+I\+CE = 1359,
\item E\+R\+R\+\_\+\+A\+D\+M\+\_\+\+N\+O\+\_\+\+P\+L\+A\+Y\+O\+U\+T\+\_\+\+D\+E\+V\+I\+CE = 1360,
\item E\+R\+R\+\_\+\+V\+D\+M\+\_\+\+W\+I\+N\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+I\+N\+\_\+\+U\+SE = 1502,
\item E\+R\+R\+\_\+\+V\+C\+M\+\_\+\+U\+N\+K\+N\+O\+W\+N\+\_\+\+E\+R\+R\+OR = 1600,
\item R\+R\+\_\+\+V\+C\+M\+\_\+\+E\+N\+C\+O\+D\+E\+R\+\_\+\+I\+N\+I\+T\+\_\+\+E\+R\+R\+OR = 1601,
\item E\+R\+R\+\_\+\+V\+C\+M\+\_\+\+E\+N\+C\+O\+D\+E\+R\+\_\+\+E\+N\+C\+O\+D\+E\+\_\+\+E\+R\+R\+OR = 1602,
\item E\+R\+R\+\_\+\+V\+C\+M\+\_\+\+E\+N\+C\+O\+D\+E\+R\+\_\+\+S\+E\+T\+\_\+\+E\+R\+R\+OR = 1603,
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/06-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item set value to V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE enumeration explicitly
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/06-\/23) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add camera capture souce type enumeration
\end{DoxyItemize}

\doxysection*{A\+PI (yyyy-\/mm-\/dd) }

Purpose of this change

\doxysubsection*{A\+PI file name \#1 }

{\bfseries{Add\+:}} Short description
\begin{DoxyItemize}
\item Foo()
\item Bar()
\end{DoxyItemize}

{\bfseries{Modified\+:}} Short description
\begin{DoxyItemize}
\item Changes Foo() to Foo1()
\item Changes Bar() to Bar1()
\end{DoxyItemize}

{\bfseries{Deleted\+:}} Short description
\begin{DoxyItemize}
\item Deleted Foo()
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/08-\/08) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item fixed enum name
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/07-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Modify Simulcast\+Stream\+Config member variable name
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/06-\/22) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Modify on\+Position\+Changed with position\+\_\+ms
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/05-\/27) }

add an enumeration type variable

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} enum I\+N\+T\+E\+R\+F\+A\+C\+E\+\_\+\+I\+D\+\_\+\+T\+Y\+P\+E\+::\+A\+G\+O\+R\+A\+\_\+\+I\+I\+D\+\_\+\+M\+U\+S\+I\+C\+\_\+\+C\+O\+N\+T\+E\+N\+T\+\_\+\+C\+E\+N\+T\+ER = 15

\doxysection*{A\+PI (2022-\/06-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add define I\+N\+V\+A\+L\+I\+D\+\_\+\+D\+I\+S\+P\+L\+A\+Y\+\_\+\+ID 0xffff
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/4-\/8) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add loopback recording parameters.
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/06-\/01) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item fix C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+C\+H\+A\+N\+G\+E\+D\+\_\+\+T\+O\+O\+\_\+\+M\+A\+N\+Y\+\_\+\+B\+R\+O\+A\+D\+C\+A\+S\+T\+E\+RS comment error
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/05-\/11) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item add decode\+Time\+Ms in Encoded\+Video\+Frame\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/06-\/09) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item delete channel profile of cloud gaming
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/06-\/9) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Explicitly set the enumeration value.
\end{DoxyItemize}

\DoxyHorRuler{0}
 \doxysection*{A\+PI (2022-\/06-\/05) }

\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}}

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item remove vendor from Content\+Inspect\+Module
\item remove token from Content\+Inspect\+Module
\item remove callback\+Url from Content\+Inspect\+Module
\item remove Content\+Work\+Type from Content\+Inspect\+Config
\item remove Devicework\+Type from Content\+Inspect\+Config
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/06-\/11) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add Snapshot\+Config
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/05-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Delete\+:}}
\begin{DoxyItemize}
\item Delete Screen\+Audio\+Parameters\+::allow\+Capture\+Current\+App for i\+OS and Android
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/05-\/24) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_log_8h_source}{I\+Agora\+Log.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add enum item {\ttfamily L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+A\+P\+I\+\_\+\+C\+A\+LL} in L\+O\+G\+\_\+\+L\+E\+V\+EL
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/05-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item fix enum Q\+U\+A\+L\+I\+T\+Y\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/05-\/15) }

Remove A\+U\+D\+I\+E\+N\+C\+E\+\_\+\+L\+A\+T\+E\+N\+C\+Y\+\_\+\+L\+E\+V\+E\+L\+\_\+\+H\+I\+G\+H\+\_\+\+L\+A\+T\+E\+N\+CY. It is only used for argus reporting. No need to expose in public header.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}} A\+U\+D\+I\+E\+N\+C\+E\+\_\+\+L\+A\+T\+E\+N\+C\+Y\+\_\+\+L\+E\+V\+E\+L\+\_\+\+T\+Y\+P\+E.\+A\+U\+D\+I\+E\+N\+C\+E\+\_\+\+L\+A\+T\+E\+N\+C\+Y\+\_\+\+L\+E\+V\+E\+L\+\_\+\+H\+I\+G\+H\+\_\+\+L\+A\+T\+E\+N\+CY

\doxysection*{A\+PI (2022-\/05-\/31) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add enum S\+I\+M\+U\+L\+C\+A\+S\+T\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+M\+O\+DE
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/05-\/11) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add P\+E\+R\+M\+I\+S\+S\+I\+O\+N\+\_\+\+T\+Y\+P\+E\+::\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+RE
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/05-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum W\+L\+A\+C\+C\+\_\+\+M\+E\+S\+S\+A\+G\+E\+\_\+\+R\+E\+A\+S\+ON
\item enum W\+L\+A\+C\+C\+\_\+\+S\+U\+G\+G\+E\+S\+T\+\_\+\+A\+C\+T\+I\+ON
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/05-\/08) }

A\+PI changes for Screen Capture

\doxysection*{-\/ enable init\+With\+Display\+Id for Windows }

\doxysection*{A\+PI (2021-\/05-\/04) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item add operator function $<$ to Video\+Format
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/05-\/01) }

\mbox{[}N\+M\+S-\/1572\mbox{]}\+: add vp9 encoder and decoder.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+V\+P9.
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/22) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add screen capture parameter for mobile platform, Screen\+Video\+Parameters, Screen\+Audio\+Parameters and Screen\+Capture\+Parameters2
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/15) }

\mbox{[}N\+M\+S-\/1630\mbox{]}\+: Add start echo test with config.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Echo\+Test\+Configuration.
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/5-\/09) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum C\+O\+N\+T\+E\+N\+T\+\_\+\+I\+N\+S\+P\+E\+C\+T\+\_\+\+W\+O\+R\+K\+\_\+\+T\+Y\+PE \doxysubsection*{-\/ enum C\+O\+N\+T\+E\+N\+T\+\_\+\+I\+N\+S\+P\+E\+C\+T\+\_\+\+V\+E\+N\+D\+OR }
\end{DoxyItemize}

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item struct Content\+Inspect\+Module \doxysubsection*{-\/ struct Content\+Inspect\+Config }
\end{DoxyItemize}

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item struct Snap\+Shot\+Config
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/28) }

\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT

add player events P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+T\+R\+Y\+\_\+\+O\+P\+E\+N\+\_\+\+S\+T\+A\+RT = 16, P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+T\+R\+Y\+\_\+\+O\+P\+E\+N\+\_\+\+S\+U\+C\+C\+E\+ED = 17, P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+T\+R\+Y\+\_\+\+O\+P\+E\+N\+\_\+\+F\+A\+I\+L\+ED = 18,

\doxysection*{A\+PI (2022-\/4-\/27) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum C\+A\+P\+T\+U\+R\+E\+\_\+\+B\+R\+I\+G\+H\+T\+N\+E\+S\+S\+\_\+\+L\+E\+V\+E\+L\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/4-\/26) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+V\+I\+D\+E\+O\+\_\+\+H\+A\+R\+D\+W\+A\+R\+E\+\_\+\+E\+N\+C\+O\+D\+E\+I\+NG che.\+hardware\+\_\+encoding
\item K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+V\+I\+D\+E\+O\+\_\+\+H264\+\_\+\+H\+W\+E\+NC che.\+video.\+h264.\+hwenc
\item K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+V\+I\+D\+E\+O\+\_\+\+H\+A\+R\+D\+W\+A\+R\+E\+\_\+\+D\+E\+C\+O\+D\+I\+NG che.\+hardware\+\_\+decoding
\item K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+I\+N\+D\+EX che.\+video.\+video\+Codec\+Index
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/4-\/26) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Change L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+::\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+Y\+S\+T\+E\+M\+\_\+\+P\+R\+E\+S\+S\+U\+RE value to 9
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+::\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+N\+O\+T\+\_\+\+F\+O\+U\+ND
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/4-\/7) }

{\bfseries{Add\+:}} add R\+T\+M\+P\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+P\+U\+B\+L\+I\+S\+H\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+I\+N\+V\+A\+L\+I\+D\+\_\+\+P\+R\+I\+V\+I\+L\+E\+GE.

\doxysection*{A\+PI (2022-\/3-\/28) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Change url\mbox{[}k\+Max\+Path\+Length\mbox{]} to const char$\ast$ url
\item Change uri\mbox{[}k\+Max\+Path\+Length\mbox{]} to const char$\ast$ uri
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/4-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}} Change V\+I\+D\+E\+O\+\_\+\+P\+I\+X\+E\+L\+\_\+\+U\+N\+K\+O\+WN to V\+I\+D\+E\+O\+\_\+\+P\+I\+X\+E\+L\+\_\+\+D\+E\+F\+A\+U\+LT I\+Video\+Frame\+Observer\+::get\+Video\+Pixel\+Format\+Preference, return V\+I\+D\+E\+O\+\_\+\+P\+I\+X\+E\+L\+\_\+\+D\+E\+F\+A\+U\+LT by default

\doxysection*{A\+PI (2022-\/03-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item typedef unsigned int video\+\_\+track\+\_\+id\+\_\+t;
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/27) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item change reason R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+A\+U\+D\+I\+O\+\_\+\+F\+A\+L\+L\+B\+A\+CK trigger by states of
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+F\+R\+O\+Z\+EN -\/$>$ R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+S\+T\+O\+P\+P\+ED
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/22) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Client\+Role\+Options bool stop\+Microphone\+Recording with default value true
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item change default value of Watermark\+Options\+::visible\+In\+Preview \+: false -\/$>$ true
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/18) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Deleted\+:}} Remove audio related public parameters.

\doxysection*{A\+PI (2022-\/04-\/14) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

\doxysection*{A\+PI (2022-\/04-\/14) }

marked deprecated
\begin{DoxyItemize}
\item virtual int open\+With\+Custom\+Source(int64\+\_\+t start\+Pos, media\+::base\+::\+I\+Media\+Player\+Custom\+Data\+Provider$\ast$ provider) = 0
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/14) }

\doxysubsection*{\mbox{\hyperlink{_agora_optional_8h_source}{Agora\+Optional.\+h}} }

{\bfseries{Deleted\+:}} Fix unuse parameter warnings.

\doxysection*{A\+PI (2022-\/04-\/13) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}} Remove A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+H\+I\+G\+H\+\_\+\+D\+E\+F\+I\+N\+I\+T\+I\+ON for A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+PE

\doxysection*{A\+PI (2022-\/04-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}} modify comment

\doxysection*{A\+PI (2022-\/04-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Spatial\+Audio\+Params\+::speaker\+\_\+attenuation
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/14) }

add params to struct Media\+Source \doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item bool auto\+Play
\item \mbox{\hyperlink{classagora_1_1_optional}{Optional$<$bool$>$}} is\+Agora\+Source
\item \mbox{\hyperlink{classagora_1_1_optional}{Optional$<$bool$>$}} is\+Live\+Source
\item I\+Media\+Player\+Custom\+Data\+Provider$\ast$ provider
\end{DoxyItemize}

\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}}

\doxysection*{A\+PI (2022-\/04-\/14) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Change\+:}}
\begin{DoxyItemize}
\item Change some annotation of Media\+Source
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/04-\/09) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum E\+X\+P\+E\+R\+I\+E\+N\+C\+E\+\_\+\+P\+O\+O\+R\+\_\+\+R\+E\+A\+S\+ON
\item Remote\+Audio\+Stats.\+quality\+Changed\+Reason
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/4-\/1) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Delete\+:}}
\begin{DoxyItemize}
\item Delete I\+Video\+Encoded\+Image\+Receiver
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/27) }

Add get\+Agora\+Current\+Monotonic\+Time\+In\+Ms.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item A\+G\+O\+R\+A\+\_\+\+A\+PI int64\+\_\+t get\+Agora\+Current\+Monotonic\+Time\+In\+Ms()
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/4-\/1) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add \mbox{\hyperlink{_agora_optional_8h_source}{Agora\+Optional.\+h}}
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/08) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum T\+Cc\+Mode
\item struct Sender\+Options
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/3-\/31) }

Add new configurable keys

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+A\+U\+D\+I\+O\+\_\+\+O\+B\+O\+E\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+E\+X\+C\+L\+U\+S\+I\+V\+E\+\_\+\+M\+O\+DE
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/3-\/31) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Lowlight\+Enhance\+Options
\item struct Video\+Denoiser\+Options
\item struct Color\+Enhance\+Options
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/03-\/28) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Audio\+Pcm\+Frame\+::source\+\_\+type
\item Audio\+Pcm\+Frame\+::handle\+\_\+timing
\item I\+Audio\+Frame\+Observer\+Base\+::\+Audio\+Frame\+::source\+\_\+type
\item I\+Audio\+Frame\+Observer\+Base\+::\+Audio\+Frame\+::handle\+\_\+time\+\_\+us
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/3-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Change Video\+Subscribtion\+Options vars from raw type to Optional
\item Delete a explicit constructor of Video\+Subscribtion\+Options
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/3-\/23) }

{\bfseries{Add\+:}} Add alpha\+Buffer to Video\+Frame.

\doxysection*{A\+PI (2022-\/03-\/22) }

Add new configurable keys

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+A\+U\+D\+I\+O\+\_\+\+I\+N\+P\+U\+T\+\_\+\+C\+H\+A\+N\+N\+E\+LS
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/03-\/17) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum A\+U\+D\+I\+O\+\_\+\+F\+R\+A\+M\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON
\item struct Audio\+Params
\end{DoxyItemize}

{\bfseries{Add Interface for I\+Audio\+Frame\+Observer\+:}}
\begin{DoxyItemize}
\item virtual int get\+Observed\+Audio\+Frame\+Position() = 0;
\item virtual Audio\+Params get\+Playback\+Audio\+Params() = 0;
\item virtual Audio\+Params get\+Record\+Audio\+Params() = 0;
\item virtual Audio\+Params get\+Mixed\+Audio\+Params() = 0;
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/03-\/15) }

Add field in struct Local\+Audio\+Stats

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}} add audio\+Device\+Delay in struct Local\+Audio\+Stats
\begin{DoxyItemize}
\item struct Local\+Audio\+Stats
\item audio\+Device\+Delay
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/03-\/05) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Q\+U\+A\+L\+I\+T\+Y\+\_\+\+A\+D\+A\+P\+T\+\_\+\+I\+N\+D\+I\+C\+A\+T\+I\+ON quality\+\_\+adapt\+\_\+indication
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/03-\/01) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item A\+U\+D\+I\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+P\+R\+E\+S\+E\+T\+::\+R\+O\+O\+M\+\_\+\+A\+C\+O\+U\+S\+T\+I\+C\+S\+\_\+\+V\+I\+R\+T\+U\+A\+L\+\_\+\+S\+U\+R\+R\+O\+U\+N\+D\+\_\+\+S\+O\+U\+ND
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/02-\/28) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

$\ast$$\ast$ Del\+:$\ast$$\ast$
\begin{DoxyItemize}
\item make C\+H\+A\+N\+N\+E\+L\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+C\+O\+M\+M\+U\+N\+I\+C\+A\+T\+I\+O\+N\+\_\+1v1 deprecated
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/02-\/28) }

\doxysubsection*{multiple head files }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item fix param warnings on xcode
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/02-\/25) }

add H\+K\+MC and US Area Code

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} add H\+K\+MC and US Area Code

\doxysection*{A\+PI (2022-\/02-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add L\+O\+C\+A\+L\+\_\+\+A\+U\+D\+I\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+E\+R\+R\+O\+R\+\_\+\+N\+O\+\_\+\+R\+E\+C\+O\+R\+D\+I\+N\+G\+\_\+\+D\+E\+V\+I\+CE
\item add L\+O\+C\+A\+L\+\_\+\+A\+U\+D\+I\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+E\+R\+R\+O\+R\+\_\+\+N\+O\+\_\+\+P\+L\+A\+Y\+O\+U\+T\+\_\+\+D\+E\+V\+I\+CE
\item add L\+O\+C\+A\+L\+\_\+\+A\+U\+D\+I\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+E\+R\+R\+O\+R\+\_\+\+I\+N\+T\+E\+R\+R\+U\+P\+T\+ED
\item add L\+O\+C\+A\+L\+\_\+\+A\+U\+D\+I\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+E\+R\+R\+O\+R\+\_\+\+R\+E\+C\+O\+R\+D\+\_\+\+I\+N\+V\+A\+L\+I\+D\+\_\+\+ID
\item add L\+O\+C\+A\+L\+\_\+\+A\+U\+D\+I\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+E\+R\+R\+O\+R\+\_\+\+P\+L\+A\+Y\+O\+U\+T\+\_\+\+I\+N\+V\+A\+L\+I\+D\+\_\+\+ID
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/02-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add A\+U\+D\+I\+O\+\_\+\+R\+E\+C\+O\+R\+D\+I\+N\+G\+\_\+\+Q\+U\+A\+L\+I\+T\+Y\+\_\+\+U\+L\+T\+R\+A\+\_\+\+H\+I\+GH for enum A\+U\+D\+I\+O\+\_\+\+R\+E\+C\+O\+R\+D\+I\+N\+G\+\_\+\+Q\+U\+A\+L\+I\+T\+Y\+\_\+\+T\+Y\+PE
\item add recording\+Channel for struct Audio\+Recording\+Configuration
\item Add params Segmentation\+Property for virtual background Setting
\end{DoxyItemize}

A\+PI (2022-\/02-\/11) \doxysection*{A\+PI (2022-\/01-\/24) }

add function\+: play and cache at the same time \doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+R\+E\+A\+C\+H\+\_\+\+C\+A\+C\+H\+E\+\_\+\+F\+I\+L\+E\+\_\+\+M\+A\+X\+\_\+\+C\+O\+U\+NT
\item M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+R\+E\+A\+C\+H\+\_\+\+C\+A\+C\+H\+E\+\_\+\+F\+I\+L\+E\+\_\+\+M\+A\+X\+\_\+\+S\+I\+ZE
\item struct Cache\+Statistics;
\item struct Media\+Source;
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item virtual int open\+With\+Media\+Source(const media\+::base\+::\+Media\+Source \&source) = 0;
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/06-\/23) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add sync\+With\+Primary\+Camera in Local\+Transcoder\+Configuration
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/11-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item enum E\+R\+R\+O\+R\+\_\+\+C\+O\+D\+E\+\_\+\+T\+Y\+PE adds \char`\"{}\+E\+R\+R\+\_\+\+I\+N\+V\+A\+L\+I\+D\+\_\+\+U\+S\+E\+R\+\_\+\+A\+C\+C\+O\+U\+N\+T = 134\char`\"{}
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/02-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum A\+U\+D\+I\+O\+\_\+\+S\+E\+S\+S\+I\+O\+N\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+\_\+\+R\+E\+S\+T\+R\+I\+C\+T\+I\+ON
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+A\+U\+D\+I\+O\+\_\+\+K\+E\+E\+P\+\_\+\+A\+U\+D\+I\+O\+S\+E\+S\+S\+I\+ON
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/02-\/08) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add struct Video\+Subscription\+Options
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/01-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Audio\+Encoded\+Frame\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/02-\/09) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item struct Encoded\+Video\+Frame\+Info(remove render\+Time\+Ms/internal\+Send\+Ts, add capture\+Time\+Ms)
\item struct Encoded\+Audio\+Frame\+Info(add capture\+Time\+Ms)
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/02-\/14) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum V\+I\+D\+E\+O\+\_\+\+V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+M\+O\+D\+E\+::\+V\+I\+D\+E\+O\+\_\+\+V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+R\+E\+P\+L\+A\+CE
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/01-\/27) }

\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} \doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+S\+T\+A\+TE
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+R\+E\+A\+S\+ON
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT
\item struct Player\+Updated\+Info
\item on\+Player\+Event
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/01-\/21) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+I\+N\+B\+A\+C\+K\+G\+R\+O\+U\+ND
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+M\+U\+L\+T\+I\+P\+L\+E\+\_\+\+F\+O\+R\+E\+G\+R\+O\+U\+N\+D\+\_\+\+A\+P\+PS
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+N\+O\+T\+\_\+\+F\+O\+U\+ND
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+D\+I\+S\+C\+O\+N\+N\+E\+C\+T\+ED
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+I\+N\+V\+A\+L\+I\+D\+\_\+\+ID
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+S\+Y\+S\+T\+E\+M\+\_\+\+P\+R\+E\+S\+S\+U\+RE
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+W\+I\+N\+D\+O\+W\+\_\+\+O\+C\+C\+L\+U\+D\+ED
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+W\+I\+N\+D\+O\+W\+\_\+\+N\+O\+T\+\_\+\+S\+U\+P\+P\+O\+R\+T\+ED
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/02) }

\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} \doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Change sample\+Count in Audio\+Pcm\+Data\+Info to samples\+Per\+Channel and channel\+Num
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/28) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Advanced\+Audio\+Options
\item enum A\+U\+D\+I\+O\+\_\+\+P\+R\+O\+C\+E\+S\+S\+I\+N\+G\+\_\+\+C\+H\+A\+N\+N\+E\+LS
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/27) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item A\+U\+D\+I\+O\+\_\+\+R\+E\+V\+E\+R\+B\+\_\+\+P\+R\+E\+S\+ET
\item V\+O\+I\+C\+E\+\_\+\+C\+H\+A\+N\+G\+E\+R\+\_\+\+P\+R\+E\+S\+ET
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}} add texture related parameters into Video\+Frame. eg\+: shared\+Context,texture\+Id and matrix

\doxysection*{A\+PI (2022-\/02-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item \mbox{\hyperlink{classagora_1_1media_1_1base_1_1_i_video_frame_observer}{agora\+::media\+::base\+::\+I\+Video\+Frame\+Observer}} get\+Video\+Format\+Preference()
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item \mbox{\hyperlink{classagora_1_1media_1_1base_1_1_i_video_frame_observer}{agora\+::media\+::base\+::\+I\+Video\+Frame\+Observer}} get\+Video\+Format\+Preference()
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/23) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Spatial\+Audio\+Params
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/27) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} Update Video\+Track\+Info
\begin{DoxyItemize}
\item {\ttfamily uint32\+\_\+t observation\+Position};
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}} Update I\+Video\+Frame\+Observer
\begin{DoxyItemize}
\item {\ttfamily bool on\+Pre\+Encode\+Video\+Frame(\+Video\+Frame\& video\+Frame)}
\item {\ttfamily bool on\+Secondary\+Pre\+Encode\+Camera\+Video\+Frame(\+Video\+Frame\& video\+Frame)}
\item {\ttfamily bool on\+Pre\+Encode\+Screen\+Video\+Frame(\+Video\+Frame\& video\+Frame)}
\item {\ttfamily bool on\+Secondary\+Pre\+Encode\+Screen\+Video\+Frame(\+Video\+Frame\& video\+Frame)}
\item {\ttfamily uint32\+\_\+t get\+Observed\+Frame\+Position()}
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}} add texture related parameters matrix into External\+Video\+Frame.

\doxysection*{A\+PI (2021-\/12-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Q\+U\+A\+L\+I\+T\+Y\+\_\+\+A\+D\+A\+P\+T\+\_\+\+I\+N\+D\+I\+C\+A\+T\+I\+ON quality\+\_\+adapt\+\_\+indication
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/04-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item I\+Audio\+Frame\+Observer\+Base\+::on\+Ear\+Monitoring\+Audio\+Frame
\item I\+Audio\+Frame\+Observer\+Base\+::get\+Ear\+Monitoring\+Audio\+Params
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+C\+H\+A\+N\+G\+E\+D\+\_\+\+S\+A\+M\+E\+\_\+\+U\+I\+D\+\_\+\+L\+O\+G\+IN = 19
\item C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+C\+H\+A\+N\+G\+E\+D\+\_\+\+T\+O\+O\+\_\+\+M\+A\+N\+Y\+\_\+\+B\+R\+O\+A\+D\+C\+A\+S\+T\+E\+RS = 20
\item enum C\+L\+I\+E\+N\+T\+\_\+\+R\+O\+L\+E\+\_\+\+C\+H\+A\+N\+G\+E\+\_\+\+F\+A\+I\+L\+E\+D\+\_\+\+R\+E\+A\+S\+ON
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/27) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} R\+T\+M\+P\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+U\+N\+P\+U\+B\+L\+I\+S\+H\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+OK = 100

\doxysection*{A\+PI (2021-\/12-\/24) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item on\+Audio\+Volume\+Indication
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}} add texture related parameters into Video\+Frame. eg\+: shared\+Context,texture\+Id and matrix

\doxysection*{A\+PI (2020-\/12-\/02) }

Add new configurable keys

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+A\+U\+D\+I\+O\+\_\+\+O\+B\+O\+E\+\_\+\+E\+N\+A\+B\+LE
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+A\+U\+D\+I\+O\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+H\+A\+R\+D\+W\+A\+R\+E\+\_\+\+E\+A\+R\+\_\+\+M\+O\+N\+I\+T\+OR
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/02) }

support A\+E\+S-\/\+X\+T\+S/\+A\+E\+S-\/\+G\+C\+M/\+A\+E\+S-\/\+E\+CB for media packet encryption

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} E\+N\+C\+R\+Y\+P\+T\+I\+O\+N\+\_\+\+M\+O\+DE
\begin{DoxyItemize}
\item A\+E\+S\+\_\+128\+\_\+\+X\+TS
\item A\+E\+S\+\_\+128\+\_\+\+E\+CB
\item A\+E\+S\+\_\+256\+\_\+\+X\+TS
\item A\+E\+S\+\_\+128\+\_\+\+G\+CM
\item A\+E\+S\+\_\+256\+\_\+\+G\+CM
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/12-\/1) }

\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} {\bfseries{Modify}} Live\+Transcoding\+:add mutiple watermark and background image

{\bfseries{Add\+:}} add Advanced\+Feature \doxysection*{A\+PI (2021-\/11-\/30) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item move enum R\+E\+M\+O\+T\+E\+\_\+\+U\+S\+E\+R\+\_\+\+S\+T\+A\+TE from \mbox{\hyperlink{_n_g_i_agora_local_user_8h_source}{N\+G\+I\+Agora\+Local\+User.\+h}} to \mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}}.
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/11-\/24) }

\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} \mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} {\bfseries{Modify}}
\begin{DoxyItemize}
\item Replace tab with spaces
\item Adjust code indent
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/11-\/24) }

\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} {\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum E\+X\+P\+E\+R\+I\+E\+N\+C\+E\+\_\+\+Q\+U\+A\+L\+I\+T\+Y\+\_\+\+T\+Y\+PE
\item Remote\+Audio\+Stats.\+qoe\+Quality
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/11-\/17) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Device\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/11-\/02) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify}}
\begin{DoxyItemize}
\item Make parameter const in copy assignment function
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/10-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add}}
\begin{DoxyItemize}
\item A\+G\+O\+R\+A\+\_\+\+I\+I\+D\+\_\+\+C\+L\+O\+U\+D\+\_\+\+S\+P\+A\+T\+I\+A\+L\+\_\+\+A\+U\+D\+IO
\item A\+G\+O\+R\+A\+\_\+\+I\+I\+D\+\_\+\+L\+O\+C\+A\+L\+\_\+\+S\+P\+A\+T\+I\+A\+L\+\_\+\+A\+U\+D\+IO
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/11-\/16) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item virtual void on\+Player\+Info\+Updated(const media\+::base\+::\+Player\+Updated\+Info\& info) = 0;
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Player\+Updated\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/10-\/29) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item virtual void on\+Player\+Info\+Updated(const media\+::base\+::\+Player\+Updated\+Info\& info) = 0;
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Player\+Updated\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/10-\/22) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N.\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+W\+I\+N\+D\+O\+W\+\_\+\+M\+I\+N\+I\+M\+I\+Z\+ED = 11
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N.\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+W\+I\+N\+D\+O\+W\+\_\+\+C\+L\+O\+S\+ED = 12
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/10-\/19) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Change the structure name from Audio\+File\+Recording\+Config to Audio\+Recording\+Configuration
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/09-\/29) }

Add new configurable keys

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+A\+U\+D\+I\+O\+\_\+\+F\+O\+R\+C\+E\+\_\+\+B\+L\+U\+E\+T\+O\+O\+T\+H\+\_\+\+A2\+DP
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+A\+U\+D\+I\+O\+\_\+\+U\+S\+E\+\_\+\+M\+E\+D\+I\+A\+\_\+\+V\+O\+L\+U\+M\+E\+\_\+\+I\+N\+\_\+\+B\+L\+U\+E\+T\+O\+O\+TH
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/27) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item \mbox{\hyperlink{classagora_1_1media_1_1base_1_1_i_video_frame_observer}{agora\+::media\+::base\+::\+I\+Video\+Frame\+Observer}} get\+Video\+Pixel\+Format\+Preference()
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/10-\/12) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item double voice\+Pitch for struct Audio\+Volume\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/10-\/11) }

{\bfseries{Add\+:}} A\+U\+D\+I\+E\+N\+C\+E\+\_\+\+L\+A\+T\+E\+N\+C\+Y\+\_\+\+L\+E\+V\+E\+L\+\_\+\+T\+Y\+P\+E.\+A\+U\+D\+I\+E\+N\+C\+E\+\_\+\+L\+A\+T\+E\+N\+C\+Y\+\_\+\+L\+E\+V\+E\+L\+\_\+\+H\+I\+G\+H\+\_\+\+L\+A\+T\+E\+N\+CY = 3

\doxysection*{A\+PI (2021-\/09-\/26) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/30) }

delete rtc.\+enable\+\_\+built\+\_\+in\+\_\+media\+\_\+encryption

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item rtc.\+enable\+\_\+built\+\_\+in\+\_\+media\+\_\+encryption
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/10-\/09) }

add new enum in M\+PK module add new parameter in on\+Player\+Event

\doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item P\+L\+A\+Y\+E\+R\+\_\+\+P\+R\+E\+L\+O\+A\+D\+\_\+\+E\+V\+E\+NT\+:P\+L\+A\+Y\+E\+R\+\_\+\+P\+R\+E\+L\+O\+A\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+E\+G\+IN
\item P\+L\+A\+Y\+E\+R\+\_\+\+P\+R\+E\+L\+O\+A\+D\+\_\+\+E\+V\+E\+NT\+:P\+L\+A\+Y\+E\+R\+\_\+\+P\+R\+E\+L\+O\+A\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+O\+M\+P\+L\+E\+TE
\item P\+L\+A\+Y\+E\+R\+\_\+\+P\+R\+E\+L\+O\+A\+D\+\_\+\+E\+V\+E\+NT\+:P\+L\+A\+Y\+E\+R\+\_\+\+P\+R\+E\+L\+O\+A\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+E\+R\+R\+OR
\item M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT\+:P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+S\+W\+I\+T\+C\+H\+\_\+\+B\+E\+G\+IN
\item M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT\+:P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+S\+W\+I\+T\+C\+H\+\_\+\+C\+O\+M\+P\+L\+E\+TE
\item M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT\+:P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+S\+W\+I\+T\+C\+H\+\_\+\+E\+R\+R\+OR
\item M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT\+:P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+F\+I\+R\+S\+T\+\_\+\+D\+I\+S\+P\+L\+A\+Y\+ED
\item M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT\+:P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+I\+D\+S\+\_\+\+U\+P\+D\+A\+TE
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new parameter {\ttfamily int64\+\_\+t elapsed\+Time}
\item Add new parameter {\ttfamily const char$\ast$ message}
\item on\+Player\+Event()
\item int open\+With\+Agora\+C\+D\+N\+Src(const char$\ast$ src, int64\+\_\+t start\+Pos)
\item int get\+Agora\+C\+D\+N\+Line\+Count()
\item int switch\+Agora\+C\+D\+N\+Line\+By\+Index(int index)
\item int get\+Current\+Agora\+C\+D\+N\+Index()
\item int enable\+Auto\+Switch\+Agora\+C\+D\+N(bool enable)
\item int renew\+Agora\+C\+D\+N\+Src\+Token(const char$\ast$ token, int64\+\_\+t ts)
\item int switch\+Agora\+C\+D\+N\+Src(const char$\ast$ src, bool sync\+Pts = false)
\item int switch\+Src(const char$\ast$ src, bool sync\+Pts)
\item int preload\+Src(const char$\ast$ src, int64\+\_\+t start\+Pos)
\item int play\+Preloaded\+Src(const char$\ast$ src)
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/11-\/6) }

Add gateway rtt in Rtcstats

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

\doxysection*{A\+PI (2021-\/09-\/23) }

Add copy assignment operator and copy constructor

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Encoded\+Video\+Frame\+Info\& operator=(const Encoded\+Video\+Frame\+Info\& rhs)
\item Video\+Encoder\+Configuration\& operator=(const Video\+Encoder\+Configuration\& rhs)
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Audio\+Pcm\+Frame(const Audio\+Pcm\+Frame\& src)
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/17) }

\doxysubsection*{\mbox{\hyperlink{time__utils_8h_source}{time\+\_\+utils.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item C98 standard update
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add struct Virtual\+Background\+Source for virtual background Setting
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/03) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add R\+E\+L\+A\+Y\+\_\+\+E\+V\+E\+N\+T\+\_\+\+P\+A\+U\+S\+E\+\_\+\+S\+E\+N\+D\+\_\+\+P\+A\+C\+K\+E\+T\+\_\+\+T\+O\+\_\+\+D\+E\+S\+T\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+S\+U\+C\+C\+E\+SS for C\+H\+A\+N\+N\+E\+L\+\_\+\+M\+E\+D\+I\+A\+\_\+\+R\+E\+L\+A\+Y\+\_\+\+E\+V\+E\+NT
\item Add R\+E\+L\+A\+Y\+\_\+\+E\+V\+E\+N\+T\+\_\+\+P\+A\+U\+S\+E\+\_\+\+S\+E\+N\+D\+\_\+\+P\+A\+C\+K\+E\+T\+\_\+\+T\+O\+\_\+\+D\+E\+S\+T\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+F\+A\+I\+L\+ED for C\+H\+A\+N\+N\+E\+L\+\_\+\+M\+E\+D\+I\+A\+\_\+\+R\+E\+L\+A\+Y\+\_\+\+E\+V\+E\+NT
\item Add R\+E\+L\+A\+Y\+\_\+\+E\+V\+E\+N\+T\+\_\+\+R\+E\+S\+U\+M\+E\+\_\+\+S\+E\+N\+D\+\_\+\+P\+A\+C\+K\+E\+T\+\_\+\+T\+O\+\_\+\+D\+E\+S\+T\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+S\+U\+C\+C\+E\+SS for C\+H\+A\+N\+N\+E\+L\+\_\+\+M\+E\+D\+I\+A\+\_\+\+R\+E\+L\+A\+Y\+\_\+\+E\+V\+E\+NT
\item Add R\+E\+L\+A\+Y\+\_\+\+E\+V\+E\+N\+T\+\_\+\+R\+E\+S\+U\+M\+E\+\_\+\+S\+E\+N\+D\+\_\+\+P\+A\+C\+K\+E\+T\+\_\+\+T\+O\+\_\+\+D\+E\+S\+T\+\_\+\+C\+H\+A\+N\+N\+E\+L\+\_\+\+F\+A\+I\+L\+ED for C\+H\+A\+N\+N\+E\+L\+\_\+\+M\+E\+D\+I\+A\+\_\+\+R\+E\+L\+A\+Y\+\_\+\+E\+V\+E\+NT
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/02) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add thread priority definition
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/08-\/12) }

add \mbox{\hyperlink{time__utils_8h_source}{time\+\_\+utils.\+h}}

\doxysubsection*{\mbox{\hyperlink{time__utils_8h_source}{time\+\_\+utils.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add class Ntp\+Time
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/10-\/19) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item Audio\+Volume\+Info.\+user\+Id
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/15) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+V\+I\+D\+E\+O\+\_\+\+H\+W\+\_\+\+D\+E\+C\+O\+D\+E\+R\+\_\+\+P\+R\+O\+V\+I\+D\+ER
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/08-\/21) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add U\+L\+T\+R\+A\+\_\+\+H\+I\+G\+H\+\_\+\+Q\+U\+A\+L\+I\+T\+Y\+\_\+\+V\+O\+I\+CE for V\+O\+I\+C\+E\+\_\+\+B\+E\+A\+U\+T\+I\+F\+I\+E\+R\+\_\+\+P\+R\+E\+S\+ET
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/08-\/27) }

Update class I\+Video\+Frame\+Observer

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Changes int get\+Rotation\+Applied() to bool get\+Rotation\+Applied()
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}} Update Transcoding\+Video\+Stream
\begin{DoxyItemize}
\item Changes source\+Type from {\ttfamily V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE} to {\ttfamily M\+E\+D\+I\+A\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE}
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}} Update M\+E\+D\+I\+A\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE
\begin{DoxyItemize}
\item Add A\+U\+D\+I\+O\+\_\+\+P\+L\+A\+Y\+O\+U\+T\+\_\+\+S\+O\+U\+R\+CE = 0,
\item Add A\+U\+D\+I\+O\+\_\+\+R\+E\+C\+O\+R\+D\+I\+N\+G\+\_\+\+S\+O\+U\+R\+CE = 1,
\item Add P\+R\+I\+M\+A\+R\+Y\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+S\+O\+U\+R\+CE = 2,
\item Add S\+E\+C\+O\+N\+D\+A\+R\+Y\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+S\+O\+U\+R\+CE = 3,
\item Add P\+R\+I\+M\+A\+R\+Y\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+S\+O\+U\+R\+CE = 4,
\item Add S\+E\+C\+O\+N\+D\+A\+R\+Y\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+S\+O\+U\+R\+CE = 5,
\item Add C\+U\+S\+T\+O\+M\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+CE = 6,
\item Add M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+S\+O\+U\+R\+CE = 7,
\item Add R\+T\+C\+\_\+\+I\+M\+A\+G\+E\+\_\+\+P\+N\+G\+\_\+\+S\+O\+U\+R\+CE = 8,
\item Add R\+T\+C\+\_\+\+I\+M\+A\+G\+E\+\_\+\+J\+P\+E\+G\+\_\+\+S\+O\+U\+R\+CE = 9,
\item Add R\+T\+C\+\_\+\+I\+M\+A\+G\+E\+\_\+\+G\+I\+F\+\_\+\+S\+O\+U\+R\+CE = 10,
\item Add R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+CE = 11,
\item Add T\+R\+A\+N\+S\+C\+O\+D\+E\+D\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+CE = 12,
\item Add U\+N\+K\+N\+O\+W\+N\+\_\+\+M\+E\+D\+I\+A\+\_\+\+S\+O\+U\+R\+CE = 100
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/08-\/05) }

Add a non-\/const version of operator-\/$>$

\doxysubsection*{\mbox{\hyperlink{_agora_optional_8h_source}{Agora\+Optional.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item T$\ast$ Optional\+::operator-\/$>$()
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/07-\/29) }

Add types of enum R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+ON Add client role options

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+A\+N\+G\+E\+\_\+\+T\+O\+\_\+\+L\+OW = 10,
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+A\+N\+G\+E\+\_\+\+T\+O\+\_\+\+H\+I\+GH = 11,
\item enum A\+U\+D\+I\+E\+N\+C\+E\+\_\+\+L\+A\+T\+E\+N\+C\+Y\+\_\+\+L\+E\+V\+E\+L\+\_\+\+T\+Y\+PE
\item struct Client\+Role\+Options
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/07-\/15) }

Add types of enum R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+ON

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+A\+N\+G\+E\+\_\+\+T\+O\+\_\+\+L\+OW = 10,
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+A\+N\+G\+E\+\_\+\+T\+O\+\_\+\+H\+I\+GH = 11,
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/07-\/20) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add struct Beauty\+Options for Beauty Parameter Setting
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/07-\/19) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item on\+Playback\+Audio\+Frame\+Before\+Mixing(uid\+\_\+t uid, Audio\+Frame\& audio\+Frame) to on\+Playback\+Audio\+Frame\+Before\+Mixing(base\+::user\+\_\+id\+\_\+t user\+Id, Audio\+Frame\& audio\+Frame) \doxysection*{A\+PI (2021-\/07-\/15) }
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add A\+U\+D\+I\+O\+\_\+\+D\+U\+A\+L\+\_\+\+M\+O\+N\+O\+\_\+\+M\+O\+DE
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/08-\/30) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add enum C\+O\+N\+T\+E\+N\+T\+\_\+\+I\+N\+S\+P\+E\+C\+T\+\_\+\+T\+Y\+PE
\item add struct Content\+Inspect\+Module
\item add struct Content\+Inspect\+Config
\item add struct Snap\+Shot\+Config
\item add class I\+Snapshot\+Callback
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/07-\/06) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item void on\+Frame(\+Audio\+Pcm\+Frame$\ast$ frame)
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/06-\/18) }

Add methods for media player source

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add method mute\+Audio()
\item add method is\+Audio\+Muted()
\item add method mute\+Video()
\item add method is\+Video\+Muted()
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/06-\/15) }

Add methods for streaming source interfance and observer

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_streaming_source_8h_source}{I\+Agora\+Media\+Streaming\+Source.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add method I\+Media\+Streaming\+Source\+::parse\+Media\+Info()
\item add method I\+Media\+Streaming\+Source\+Observer\+::on\+Open\+Done()
\item add method I\+Media\+Streaming\+Source\+Observer\+::on\+Seek\+Done()
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/08-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Video\+Track\+Info.\+channel\+Id
\end{DoxyItemize}

{\bfseries{Delete\+:}}
\begin{DoxyItemize}
\item Rtc\+Stats.\+connection\+Id
\item Video\+Track\+Info.\+connection\+Id
\item Transcoding\+Video\+Stream.\+connection\+Id
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item bool on\+Render\+Video\+Frame(rtc\+::uid\+\_\+t uid, rtc\+::conn\+\_\+id\+\_\+t connection\+Id, Video\+Frame\& video\+Frame) to bool on\+Render\+Video\+Frame(const char$\ast$ channel\+Id, rtc\+::uid\+\_\+t remote\+Uid, Video\+Frame\& video\+Frame)
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/07-\/21) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add E\+R\+R\+\_\+\+N\+O\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+R\+E\+S\+O\+U\+R\+C\+ES to E\+R\+R\+O\+R\+\_\+\+C\+O\+D\+E\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item A\+U\+D\+I\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+T\+Y\+P\+E.\+A\+U\+D\+I\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+L\+P\+C\+N\+ET
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/07-\/21) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item class I\+Audio\+Frame\+Observer\+Base
\item on\+Playback\+Audio\+Frame\+Before\+Mixing(base\+::user\+\_\+id\+\_\+t user\+Id, Audio\+Frame\& audio\+Frame)
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/11-\/09) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Remote\+Audio\+Stats.\+total\+Active\+Time
\item Remote\+Audio\+Stats.\+publish\+Duration
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/07-\/06) }

Add new configurable keys

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+A\+U\+D\+I\+O\+\_\+\+F\+O\+R\+C\+E\+\_\+\+U\+S\+E\+\_\+\+M\+E\+D\+I\+A\+\_\+\+V\+O\+L\+U\+ME
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/06-\/07) }

Rename A\+E\+S-\/\+G\+CM to A\+E\+S-\/\+G\+C\+M2

\doxysection*{A\+PI (2021-\/07-\/06) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add Audio\+Route\+::\+R\+O\+U\+T\+E\+\_\+\+H\+D\+MI
\item Add Audio\+Route\+::\+R\+O\+U\+T\+E\+\_\+\+U\+SB
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item rename E\+N\+C\+R\+Y\+P\+T\+I\+O\+N\+\_\+\+M\+O\+D\+E\+::\+A\+E\+S\+\_\+128\+\_\+\+G\+CM to E\+N\+C\+R\+Y\+P\+T\+I\+O\+N\+\_\+\+M\+O\+D\+E\+::\+A\+E\+S\+\_\+128\+\_\+\+G\+C\+M2
\item rename E\+N\+C\+R\+Y\+P\+T\+I\+O\+N\+\_\+\+M\+O\+D\+E\+::\+A\+E\+S\+\_\+256\+\_\+\+G\+CM to E\+N\+C\+R\+Y\+P\+T\+I\+O\+N\+\_\+\+M\+O\+D\+E\+::\+A\+E\+S\+\_\+256\+\_\+\+G\+C\+M2
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/05-\/31) }

Parse media info from url.

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_streaming_source_8h_source}{I\+Agora\+Media\+Streaming\+Source.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Parse\+Media\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/05-\/25) }

adding operator== function for Video\+Dimensions and Simulcast\+Stream\+Config

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item bool operator==(const Video\+Dimensions\& rhs) const
\item bool operator==(const Simulcast\+Stream\+Config\& rhs) const
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/05-\/24) }

Support compute audio spectrum.

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Update comments
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/05-\/22) }

Modify note of A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+P\+E\+::\+A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+C\+H\+A\+T\+R\+O\+OM

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item note of A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+P\+E\+::\+A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+C\+H\+A\+T\+R\+O\+OM
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/06-\/02) }

Add new configurable keys

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+B\+U\+I\+L\+T\+\_\+\+I\+N\+\_\+\+M\+E\+D\+I\+A\+\_\+\+E\+N\+C\+R\+Y\+P\+T\+I\+ON
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/05-\/15) }

Add new configurable keys

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+A\+U\+D\+I\+O\+\_\+\+I\+N\+P\+U\+T\+\_\+\+S\+A\+M\+P\+L\+E\+\_\+\+R\+A\+TE
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/05-\/13) }

Support compute audio spectrum.

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item struct User\+Audio\+Spectrum\+Info
\item I\+Audio\+Spectrum\+Observer
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/05-\/12) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}} Add parameter key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+A\+U\+D\+I\+O\+\_\+\+M\+A\+X\+\_\+\+T\+A\+R\+G\+E\+T\+\_\+\+D\+E\+L\+AY

\doxysection*{A\+PI (2020-\/05-\/11) }

Support Freeze check on media player based ffmpeg.

\doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Add\+:}} Add in definition of M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT
\begin{DoxyItemize}
\item P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+F\+R\+E\+E\+Z\+E\+\_\+\+S\+T\+A\+RT
\item P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+F\+R\+E\+E\+Z\+E\+\_\+\+S\+T\+OP
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/05-\/10) }

Add some protection

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Downlink\+Network\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/05-\/06) }

Add switches for c++11 features

\doxysection*{A\+PI (2020-\/05-\/05) }

Support R/W recording audio frame observer.

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}} Move in definition of R\+A\+W\+\_\+\+A\+U\+D\+I\+O\+\_\+\+F\+R\+A\+M\+E\+\_\+\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE

\doxysection*{A\+PI (2021-\/05-\/06) }

Delete Remote\+Video\+Stream\+Info and refine Downlink\+Network\+Info.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item Remote\+Video\+Stream\+Info
\end{DoxyItemize}

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item refine Downlink\+Network\+Info.
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/04-\/30) }

Add new configurable keys

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+A\+U\+D\+I\+O\+\_\+\+O\+P\+E\+N\+S\+L\+\_\+\+M\+O\+DE
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/04-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+P\+E\+::\+A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+C\+H\+O\+R\+US
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/04-\/30) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+::\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+B\+A\+C\+K\+G\+R\+O\+UD
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+::\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+M\+U\+L\+T\+I\+P\+L\+E\+\_\+\+F\+O\+R\+E\+G\+R\+O\+U\+N\+D\+\_\+\+A\+P\+PS
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+::\+L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+Y\+S\+T\+E\+M\+\_\+\+P\+R\+E\+S\+S\+U\+RE
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/02-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Remote\+Audio\+Stats.\+rx\+Audio\+Bytes
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/04-\/28) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add field mos\+Value for struct Remote\+Audio\+Stats
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/04-\/20) }

Support A\+E\+S-\/\+G\+CM encryption for media packet

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item E\+N\+C\+R\+Y\+P\+T\+I\+O\+N\+\_\+\+M\+O\+D\+E\+::\+A\+E\+S\+\_\+128\+\_\+\+G\+CM
\item E\+N\+C\+R\+Y\+P\+T\+I\+O\+N\+\_\+\+M\+O\+D\+E\+::\+A\+E\+S\+\_\+256\+\_\+\+G\+CM
\item Encryption\+Config\+::encryption\+Kdf\+Salt
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/04-\/19) }

Add copy assignment for Audio\+Pcm\+Frame. \doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}} Add Audio\+Pcm\+Frame \& operator=(const Audio\+Pcm\+Frame \& src)

\doxysection*{A\+PI (2020-\/04-\/19) }

Add audio effect preset enum. \doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} Add V\+O\+I\+C\+E\+\_\+\+B\+E\+A\+U\+T\+I\+F\+I\+E\+R\+\_\+\+P\+R\+E\+S\+ET, A\+U\+D\+I\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+P\+R\+E\+S\+ET, V\+O\+I\+C\+E\+\_\+\+C\+O\+N\+V\+E\+R\+S\+I\+O\+N\+\_\+\+P\+R\+E\+S\+ET

\doxysection*{A\+PI (2020-\/08-\/30) }

Add audio effect preset enum. \doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} Add V\+O\+I\+C\+E\+\_\+\+C\+O\+N\+V\+E\+R\+S\+I\+O\+N\+\_\+\+P\+R\+E\+S\+ET

\doxysection*{A\+PI (2021-\/04-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new struct Audio\+Spectrum\+Info
\item Add new interface I\+Audio\+Spectrum\+Observer \doxysection*{A\+PI (2021-\/04-\/07) }
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add Audio\+Encoded\+Frame\+Observer\+Config
\item add I\+Audio\+Encoded\+Frame\+Observer
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/04-\/15) }

Add support for win arm64

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add support for win arm64
\end{DoxyItemize}

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item E\+N\+C\+R\+Y\+P\+T\+I\+O\+N\+\_\+\+M\+O\+D\+E\+::\+A\+E\+S\+\_\+128\+\_\+\+X\+TS
\item E\+N\+C\+R\+Y\+P\+T\+I\+O\+N\+\_\+\+M\+O\+D\+E\+::\+A\+E\+S\+\_\+128\+\_\+\+E\+CB
\item E\+N\+C\+R\+Y\+P\+T\+I\+O\+N\+\_\+\+M\+O\+D\+E\+::\+A\+E\+S\+\_\+256\+\_\+\+X\+TS
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/04-\/15) }

add chatroom audio scenario

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item Deleted enum A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+P\+E\+::\+A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+C\+H\+A\+T\+R\+O\+O\+M\+\_\+\+E\+N\+T\+E\+R\+T\+A\+I\+N\+M\+E\+NT
\item Deleted enum A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+P\+E\+::\+A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+E\+D\+U\+C\+A\+T\+I\+ON
\item Deleted enum A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+P\+E\+::\+A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+S\+H\+O\+W\+R\+O\+OM
\end{DoxyItemize}

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item modify enum A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+P\+E\+::\+A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+C\+H\+A\+T\+R\+O\+O\+M\+\_\+\+G\+A\+M\+I\+NG to A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+P\+E\+::\+A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+C\+H\+A\+T\+R\+O\+OM
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/04-\/06) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new interface I\+Video\+Encoded\+Frame\+Observer
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/03-\/31) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_streaming_source_8h_source}{I\+Agora\+Media\+Streaming\+Source.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add interface I\+Media\+Streaming\+Source
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/03-\/26) }

Add new parameters in Screen\+Capture\+Parameters

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new parameter {\ttfamily bool capture\+Mouse\+Cursor}
\item Add new parameter {\ttfamily bool window\+Focus}
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/03-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add struct E\+A\+R\+\_\+\+M\+O\+N\+I\+T\+O\+R\+I\+N\+G\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysubsection*{A\+PI file name \#2 }

\doxysection*{A\+PI (2021-\/04-\/22) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new enum value M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+R\+E\+A\+S\+O\+N\+::\+P\+L\+A\+Y\+E\+R\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+N\+O\+\_\+\+P\+E\+R\+M\+I\+S\+S\+I\+ON
\item Add new enum value M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+R\+E\+A\+S\+O\+N\+::\+P\+L\+A\+Y\+E\+R\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+I\+N\+T\+E\+R\+R\+U\+P\+T\+ED
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/04-\/01) }

add M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT enum and api in \mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}}

\doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+L\+OW and P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+R\+E\+C\+O\+V\+ER
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item set\+Player\+Option
\item on\+Play\+Buffer\+Updated
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/03-\/26) }

modify struct Video\+Track\+Info

\doxysection*{A\+PI (2021-\/03-\/25) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add Data\+Stream\+Config
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/03-\/19) }

modify to adapt c++ 11

\doxysection*{A\+PI (2021-\/03-\/11) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item add err\+\_\+num \+: E\+R\+R\+\_\+\+P\+C\+M\+S\+E\+N\+D\+\_\+\+F\+O\+R\+M\+AT and E\+R\+R\+\_\+\+P\+C\+M\+S\+E\+N\+D\+\_\+\+B\+U\+F\+F\+E\+R\+O\+V\+E\+R\+F\+L\+OW
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/03-\/09) }

Modify P\+L\+A\+Y\+E\+R\+\_\+\+S\+T\+A\+T\+E\+\_\+\+S\+T\+O\+P\+P\+ED

\doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item P\+L\+A\+Y\+E\+R\+\_\+\+S\+T\+A\+T\+E\+\_\+\+S\+T\+O\+P\+P\+ED
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/03-\/09) }

Add new parameters in Screen\+Capture\+Parameters

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new parameter {\ttfamily view\+\_\+t $\ast$exclude\+Window\+List}
\item Add new parameter {\ttfamily int exclude\+Window\+Count}
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/02-\/19) }

Add V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+G\+E\+N\+E\+R\+I\+C\+\_\+\+J\+P\+EG enum Add parameter key

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+G\+E\+N\+E\+R\+I\+C\+\_\+\+J\+P\+EG
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}} Add parameter key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+T\+Y\+PE

\doxysection*{A\+PI (2021-\/01-\/28) }

Add new configurable keys

\doxysubsection*{\mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add new key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+V\+I\+D\+E\+O\+\_\+\+H\+W\+\_\+\+E\+N\+C\+O\+D\+E\+R\+\_\+\+P\+R\+O\+V\+I\+D\+ER
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/11-\/17) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item I\+Audio\+Frame\+Observer\+Base\+::on\+Record\+Audio\+Frame(const char$\ast$ channel\+Id, Audio\+Frame\& audio\+Frame)
\item I\+Audio\+Frame\+Observer\+Base\+::on\+Playback\+Audio\+Frame(const char$\ast$ channel\+Id, Audio\+Frame\& audio\+Frame)
\item I\+Audio\+Frame\+Observer\+Base\+::on\+Mixed\+Audio\+Frame(const char$\ast$ channel\+Id, Audio\+Frame\& audio\+Frame)
\item I\+Audio\+Frame\+Observer\+Base\+::on\+Playback\+Audio\+Frame\+Before\+Mixing(const char$\ast$ channel\+Id, base\+::user\+\_\+id\+\_\+t user\+Id, Audio\+Frame\& audio\+Frame)
\item I\+Audio\+Frame\+Observer\+::on\+Playback\+Audio\+Frame\+Before\+Mixing(const char$\ast$ channel\+Id, rtc\+::uid\+\_\+t uid, Audio\+Frame\& audio\+Frame)
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/01-\/12) }

Change definition of bytes\+\_\+per\+\_\+sample without channel

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum B\+Y\+T\+E\+S\+\_\+\+P\+E\+R\+\_\+\+S\+A\+M\+P\+LE
\end{DoxyItemize}

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item change param type of Audio\+Frame\+::bytes\+Per\+Sample from size\+\_\+t to enum B\+Y\+T\+E\+S\+\_\+\+P\+E\+R\+\_\+\+S\+A\+M\+P\+LE
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/01-\/21) }

Change enum order

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Change the order of V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+C\+U\+S\+T\+OM and V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+ER
\end{DoxyItemize}

\doxysubsection*{A\+PI file name \#2 }

A\+PI (2021-\/03-\/03) \doxysection*{A\+PI (2020-\/12-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum M\+A\+X\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+S\+I\+Z\+E\+\_\+\+T\+Y\+PE
\item Add metadata\+\_\+buffer and metadata\+\_\+size for struct External\+Video\+Frame
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/12-\/11) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}} get\+Aogra\+Certificate\+Verify\+Result ---$>$ get\+Agora\+Certificate\+Verify\+Result

\doxysection*{A\+PI (2020-\/12-\/07) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item int create\+Agora\+Credential(agora\+::util\+::\+A\+String \&credential);
\item int A\+G\+O\+R\+A\+\_\+\+C\+A\+LL get\+Aogra\+Certificate\+Verify\+Result(const char $<$em$>$credential\+\_\+buf, int credential\+\_\+len, const char $\ast$certificate\+\_\+buf, int certificate\+\_\+len);
\item void set\+Agora\+License\+Callback(agora\+::base\+::\+License\+Callback $\ast$callback);
\item \mbox{\hyperlink{classagora_1_1base_1_1_license_callback}{agora\+::base\+::\+License\+Callback}} get\+Agora\+License\+Callback();
\end{DoxyItemize}

{\bfseries{Deleted\+:}} License\textquotesingle{}s A\+PI
\begin{DoxyItemize}
\item int agora\+\_\+gen\+Credential(agora\+::util\+::\+A\+String \&credential, const char $<$em$>$path)
\item int agora\+\_\+verify\+Certificate(const char $\ast$cert, const char $\ast$path);
\item void agora\+\_\+register\+License\+Callback(\mbox{\hyperlink{classagora_1_1base_1_1_license_callback}{agora\+::base\+::\+License\+Callback}} callback);
\item void agora\+\_\+unregister\+License\+Callback();
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/12-\/21) }

{\bfseries{Add\+:}} \doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }


\begin{DoxyItemize}
\item Add enum S\+T\+R\+E\+A\+M\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+S\+T\+A\+TE
\item Add enum S\+T\+R\+E\+A\+M\+\_\+\+P\+U\+B\+L\+I\+S\+H\+\_\+\+S\+T\+A\+TE
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/10-\/16) }

Modify the comments of D\+E\+G\+R\+A\+D\+A\+T\+I\+O\+N\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+CE.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item enum D\+E\+G\+R\+A\+D\+A\+T\+I\+O\+N\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+CE
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/10-\/12) }

Add camera direction for configuration.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum C\+A\+M\+E\+R\+A\+\_\+\+D\+I\+R\+E\+C\+T\+I\+ON
\item struct Camera\+Capturer\+Configuration
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/09-\/28) }

Add mirror mode to Video\+Encoder\+Configuration.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Mirror mode (V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE) in Video\+Encoder\+Configuration
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/09-\/27) }

Add mirror mode to Video\+Canvas.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Mirror mode (V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE) in Video\+Canvas
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/02-\/02) }

Add Downlink\+Network\+Info and modify Network\+Info

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Downlink\+Network\+Info
\end{DoxyItemize}

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Changes struct Network\+Info to struct Uplink\+Network\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/09-\/23) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+ER for enum V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE
\item Add field priv\+\_\+size for struct Video\+Canvas
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add on\+Media\+Player\+Video\+Frame() member function for I\+Video\+Frame\+Observer
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/11-\/25) }

Modify R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+PE.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

{\bfseries{Deleted\+:}}
\begin{DoxyItemize}
\item Deleted enum R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Changes Add V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+PE stream\+Type to Encoded\+Video\+Frame\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/11-\/24) }

Add tx/rx\+Packet\+Loss\+Rate in Rtc\+Stats.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Rtc\+Stats\+::tx\+Packet\+Loss\+Rate
\item Rtc\+Stats\+::rx\+Packet\+Loss\+Rate
\end{DoxyItemize}

A\+PI (2020-\/11-\/14)

\doxysubsection*{\mbox{\hyperlink{_agora_media_player_types_8h_source}{Agora\+Media\+Player\+Types.\+h}} }

{\bfseries{Add\+:}} \doxysection*{-\/ M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+S\+T\+A\+T\+E\+::\+P\+L\+A\+Y\+E\+R\+\_\+\+S\+T\+A\+T\+E\+\_\+\+P\+L\+A\+Y\+B\+A\+C\+K\+\_\+\+A\+L\+L\+\_\+\+L\+O\+O\+P\+S\+\_\+\+C\+O\+M\+P\+L\+E\+T\+ED }

\doxysection*{A\+PI (2020-\/11-\/12) }


\begin{DoxyItemize}
\item C\+H\+A\+N\+N\+E\+L\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+T\+Y\+P\+E\+::\+C\+H\+A\+N\+N\+E\+L\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+L\+I\+V\+E\+\_\+\+B\+R\+O\+A\+D\+C\+A\+S\+T\+I\+N\+G2
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

C\+H\+A\+N\+N\+E\+L\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+T\+Y\+P\+E\+::\+C\+H\+A\+N\+N\+E\+L\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+L\+I\+V\+E\+\_\+\+B\+R\+O\+A\+D\+C\+A\+S\+T\+I\+N\+G2

A\+PI (2020-\/11-\/09)

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} License\textquotesingle{}s A\+PI
\begin{DoxyItemize}
\item int agora\+\_\+gen\+Credential(agora\+::util\+::\+A\+String \&credential, const char $<$em$>$path)
\item int agora\+\_\+verify\+Certificate(const char $\ast$cert, const char $\ast$path);
\item void agora\+\_\+register\+License\+Callback(\mbox{\hyperlink{classagora_1_1base_1_1_license_callback}{agora\+::base\+::\+License\+Callback}} callback);
\item void agora\+\_\+unregister\+License\+Callback();
\end{DoxyItemize}

License\textquotesingle{}s Callback
\begin{DoxyItemize}
\item class License\+Callback;
\end{DoxyItemize}

{\bfseries{Modified\+:}} License\textquotesingle{}s Error Code Types
\begin{DoxyItemize}
\item E\+R\+R\+\_\+\+L\+I\+C\+E\+N\+S\+E\+\_\+\+C\+R\+E\+D\+E\+N\+T\+I\+A\+L\+\_\+\+I\+N\+V\+A\+L\+ID = 131,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+R\+AW = 157,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+J\+S\+O\+N\+\_\+\+P\+A\+RT = 158,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+J\+S\+O\+N\+\_\+\+I\+N\+V\+AL = 159,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+J\+S\+O\+N\+\_\+\+N\+O\+M\+EM = 160,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+C\+U\+S\+T\+OM = 161,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+C\+R\+E\+D\+E\+N\+T\+I\+AL = 162,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+S\+I\+GN = 163,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+F\+A\+IL = 164,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+B\+UF = 165,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+N\+U\+LL = 166,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+D\+U\+E\+D\+A\+TE = 167,
\item E\+R\+R\+\_\+\+C\+E\+R\+T\+\_\+\+R\+E\+Q\+U\+E\+ST = 168,
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/09-\/04) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}} Refine A\+G\+O\+R\+A\+\_\+\+A\+PI definitions to keep aligned with agora\+\_\+api.\+h

\doxysubsection*{\mbox{\hyperlink{_agora_ref_ptr_8h_source}{Agora\+Ref\+Ptr.\+h}} }

{\bfseries{Modified\+:}} Add operator$\ast$().

\doxysubsection*{\mbox{\hyperlink{_i_agora_log_8h_source}{I\+Agora\+Log.\+h}} }

{\bfseries{Modified\+:}} Add log related constants.

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Modified\+:}} Change the \textquotesingle{}int\textquotesingle{} parameters to \textquotesingle{}int64\+\_\+t\textquotesingle{} to keep aligned with the other A\+P\+Is.

\doxysection*{A\+PI (2020-\/09-\/09) }

Modify Encoded\+Video\+Frame\+Info.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}} Modify Encoded\+Video\+Frame\+Info.
\begin{DoxyItemize}
\item Remove packetization\+Mode.
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/09-\/11) }

Add enum N\+E\+T\+W\+O\+R\+K\+\_\+\+T\+Y\+PE.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum N\+E\+T\+W\+O\+R\+K\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/09-\/04) }

Add more methods to I\+Video\+Frame\+Observer.

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Changes Add get\+Video\+Format\+Preference/get\+Rotation\+Applied/get\+Mirror\+Applied to I\+Video\+Frame\+Observer
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/09-\/03) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}} add members of Rtc\+Stats
\begin{DoxyItemize}
\item packets\+Before\+First\+Key\+Frame\+Packet
\item first\+Audio\+Packet\+Duration\+After\+Unmute
\item first\+Video\+Packet\+Duration\+After\+Unmute
\item first\+Video\+Key\+Frame\+Packet\+Duration\+After\+Unmute
\item first\+Video\+Key\+Frame\+Decoded\+Duration\+After\+Unmute
\item first\+Video\+Key\+Frame\+Rendered\+Duration\+After\+Unmute
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/08-\/19) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}} Open\+GL type
\begin{DoxyItemize}
\item enum E\+G\+L\+\_\+\+C\+O\+N\+T\+E\+X\+T\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

{\bfseries{Add\+:}} Video Buffer types
\begin{DoxyItemize}
\item V\+I\+D\+E\+O\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+T\+Y\+P\+E\+::\+V\+I\+D\+E\+O\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+A\+R\+R\+AY
\item V\+I\+D\+E\+O\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+T\+Y\+P\+E\+::\+V\+I\+D\+E\+O\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+T\+E\+X\+T\+U\+RE
\end{DoxyItemize}

{\bfseries{Add\+:}} Texture related parameter
\begin{DoxyItemize}
\item External\+Video\+Frame\+::egl\+Context
\item External\+Video\+Frame\+::egl\+Type
\item External\+Video\+Frame\+::texture\+Id
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/08-\/14) }

Add enum

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} Add enum
\begin{DoxyItemize}
\item V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/08-\/04) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item A\+U\+D\+I\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+T\+Y\+P\+E\+::\+A\+U\+D\+I\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+G722
\item A\+U\+D\+I\+O\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+T\+Y\+P\+E\+::\+A\+U\+D\+I\+O\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+I\+OT
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/07-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

Add {\ttfamily struct Audio\+Parameters} Rename some fields of {\ttfamily struct Audio\+Pcm\+Frame}

\doxysection*{A\+PI (2020-\/07-\/14) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Modify\+:}} Change include dir.

\doxysection*{A\+PI (2020-\/07-\/06) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}} Change include dir.

\doxysection*{A\+PI (2020-\/07-\/01) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}} Remove string U\+ID.

\doxysection*{A\+PI (2020-\/06-\/27) }

Make include path correct

\doxysection*{A\+PI (2020-\/06-\/18) }

Modify Encoded\+Video\+Frame\+Info.

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}} Modify Encoded\+Video\+Frame\+Info.
\begin{DoxyItemize}
\item Remove packetization\+Mode.
\end{DoxyItemize}

A\+PI (2020-\/06-\/17) Change namespace to avoid confliect with media\+\_\+server\+\_\+library

\doxysubsection*{\mbox{\hyperlink{_agora_optional_8h_source}{Agora\+Optional.\+h}} }

{\bfseries{Modified\+:}} Change namespace
\begin{DoxyItemize}
\item Changes base\+::\+Optional to base\+\_\+utils\+::\+Optional
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/06-\/17) }

Fix header file macro

\doxysubsection*{\mbox{\hyperlink{_agora_optional_8h_source}{Agora\+Optional.\+h}} }

{\bfseries{Add\+:}} Add string\+\_\+value to Optional
\begin{DoxyItemize}
\item Optional\+::string\+\_\+value()
\end{DoxyItemize}

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item {\ttfamily B\+A\+S\+E\+\_\+\+O\+P\+T\+I\+O\+N\+A\+L\+\_\+\+H\+\_\+} to {\ttfamily A\+G\+O\+R\+A\+\_\+\+O\+P\+T\+I\+O\+N\+A\+L\+\_\+\+H\+\_\+}
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/05-\/29) }

Updated docs for the following header files\+:
\begin{DoxyItemize}
\item \mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}}
\item \mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}}
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/06-\/22) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item set\+Looping(bool looping) to set\+Loop\+Count(int loop\+Count)
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/06-\/10) }

Add Network\+Info for feedback to user

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} Add Network\+Info
\begin{DoxyItemize}
\item struct Network\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/06-\/08) }

\doxysubsection*{\mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} }

{\bfseries{Add\+:}} Add new Api in Media Player
\begin{DoxyItemize}
\item take\+Screenshot()
\item select\+Internal\+Subtitle()
\item set\+External\+Subtitle()
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/06-\/08) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+S\+T\+A\+TE rename to R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+TE
\item Changes R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+P\+L\+A\+Y\+I\+NG to R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+D\+E\+C\+O\+D\+I\+NG
\end{DoxyItemize}

R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+ON
\begin{DoxyItemize}
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+I\+N\+T\+E\+R\+N\+AL
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+N\+E\+T\+W\+O\+R\+K\+\_\+\+C\+O\+N\+G\+E\+S\+T\+I\+ON
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+N\+E\+T\+W\+O\+R\+K\+\_\+\+R\+E\+C\+O\+V\+E\+RY
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+M\+U\+T\+ED
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+U\+N\+M\+U\+T\+ED
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+R\+E\+M\+O\+T\+E\+\_\+\+M\+U\+T\+ED
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+R\+E\+M\+O\+T\+E\+\_\+\+U\+N\+M\+U\+T\+ED
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+R\+E\+M\+O\+T\+E\+\_\+\+O\+F\+F\+L\+I\+NE
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+A\+U\+D\+I\+O\+\_\+\+F\+A\+L\+L\+B\+A\+CK
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+A\+U\+D\+I\+O\+\_\+\+F\+A\+L\+L\+B\+A\+C\+K\+\_\+\+R\+E\+C\+O\+V\+E\+RY
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/06-\/03) }

Move \mbox{\hyperlink{_i_agora_media_player_source_8h_source}{I\+Agora\+Media\+Player\+Source.\+h}} from api2 to here, and add get\+Source\+Id() for I\+Media\+Player\+Source

{\bfseries{Add\+:}} \doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

Add enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+T\+Y\+PE.

\doxysection*{A\+PI (2020-\/05-\/31) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+P\+L\+A\+Y\+B\+A\+C\+K\+\_\+\+S\+P\+E\+ED.
\end{DoxyItemize}

\doxysubsection*{I\+Agora\+Meida\+Player\+Source.\+h }

{\bfseries{Add\+:}} Add new Api in Media Player
\begin{DoxyItemize}
\item set\+Playback\+Speed()
\item select\+Audio\+Track()
\item set\+Player\+Option()
\end{DoxyItemize}

\doxysubsection*{Agora\+Meida\+Player\+Types.\+h }

{\bfseries{Add\+:}} Move Media Player related declaration from \mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} to Agora\+Meida\+Player\+Types.\+h
\begin{DoxyItemize}
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+S\+T\+A\+TE
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+R\+E\+A\+S\+ON
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+P\+L\+A\+Y\+B\+A\+C\+K\+\_\+\+S\+P\+E\+ED
\item enum M\+E\+D\+I\+A\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+PE
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT
\item struct Media\+Stream\+Info
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Delete\+:}} Move Media Player related declaration from \mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} to Agora\+Meida\+Player\+Types.\+h
\begin{DoxyItemize}
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+S\+T\+A\+TE
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+R\+E\+A\+S\+ON
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+P\+L\+A\+Y\+B\+A\+C\+K\+\_\+\+S\+P\+E\+ED
\item enum M\+E\+D\+I\+A\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+PE
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+E\+V\+E\+NT
\item struct Media\+Stream\+Info
\item enum M\+E\+D\+I\+A\+\_\+\+P\+L\+A\+Y\+E\+R\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/06-\/09) }

Modify Packet\+Options.

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}} Add audio\+Level\+Indication into Packet\+Options.
\begin{DoxyItemize}
\item Packet\+Options\+: Add member audio\+Level\+Indication
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/05-\/28) }

Modify Video\+Encoder\+Configuration and V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+T\+Y\+PE

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Add member enable\+Generic\+H264 for Video\+Encoder\+Configuration
\item Add new type V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+G\+E\+N\+E\+R\+I\+C(6) for enum V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+T\+Y\+PE
\item Add new type V\+I\+D\+E\+O\+\_\+\+F\+R\+A\+M\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+R\+O\+P\+P\+A\+B\+L\+E\+\_\+\+F\+R\+A\+M\+E(6) for enum V\+I\+D\+E\+O\+\_\+\+F\+R\+A\+M\+E\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2020-\/05-\/22) }

{\bfseries{Add\+:}} \doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

Add enum V\+I\+D\+E\+O\+\_\+\+O\+B\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+S\+I\+T\+I\+ON.

\doxysection*{A\+PI (2020-\/05-\/12) }

{\bfseries{Add\+:}} \doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

Add data member video\+Rotation in struct Media\+Stream\+Info.

\doxysection*{A\+PI (2020-\/05-\/12) }

Add lastmile and connection state enum

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} Add lastmile and connection state enum
\begin{DoxyItemize}
\item enum L\+A\+S\+T\+M\+I\+L\+E\+\_\+\+P\+R\+O\+B\+E\+\_\+\+R\+E\+S\+U\+L\+T\+\_\+\+S\+T\+A\+TE
\item struct Lastmile\+Probe\+One\+Way\+Result
\item struct Lastmile\+Probe\+Result
\item struct Lastmile\+Probe\+Config
\item enum C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+C\+H\+A\+N\+G\+E\+D\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+T\+Y\+PE
\item struct Lastmile\+Probe\+Config
\item enum A\+U\+D\+I\+O\+\_\+\+R\+E\+V\+E\+R\+B\+\_\+\+P\+R\+E\+S\+ET
\item struct Screen\+Capture\+Parameters
\item enum V\+O\+I\+C\+E\+\_\+\+C\+H\+A\+N\+G\+E\+R\+\_\+\+P\+R\+E\+S\+ET
\end{DoxyItemize}

A\+PI (2020-\/05-\/09)

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} Add A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+H\+I\+G\+H\+\_\+\+D\+E\+F\+I\+N\+I\+T\+I\+ON for A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+PE

\doxysection*{A\+PI (2021-\/05-\/26) }

{\bfseries{Add\+:}}

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

Add enum D\+I\+S\+A\+B\+LE to disable V\+QC to D\+E\+G\+R\+A\+D\+A\+T\+I\+O\+N\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+CE

\doxysection*{A\+PI (2021-\/09-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} Add renderer struct and enum
\begin{DoxyItemize}
\item Enum V\+I\+D\+E\+O\+\_\+\+V\+I\+E\+W\+\_\+\+S\+E\+T\+U\+P\+\_\+\+M\+O\+DE
\end{DoxyItemize}

{\bfseries{Add\+:}} Add Struct for Fish Correction
\begin{DoxyItemize}
\item Struct Fish\+Correction\+Params
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/09-\/24) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}} moidfy enable\+Audio\+Volume\+Indication support vad

\doxysection*{A\+PI (2022-\/03-\/25) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}} Add A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+M\+E\+E\+T\+I\+NG to enum A\+U\+D\+I\+O\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+T\+Y\+PE

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}} Add R\+O\+U\+T\+E\+\_\+\+D\+I\+S\+P\+L\+A\+Y\+P\+O\+RT and R\+O\+U\+T\+E\+\_\+\+A\+I\+R\+P\+L\+AY to enum Audio\+Route

\doxysection*{A\+PI (2022-\/04-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Delete\+:}} Delete useless i\+OS adm error code

\doxysection*{A\+PI (2022-\/05-\/09) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add}}
\begin{DoxyItemize}
\item A\+G\+O\+R\+A\+\_\+\+I\+I\+D\+\_\+\+M\+E\+D\+I\+A\+\_\+\+R\+E\+C\+O\+R\+D\+ER
\end{DoxyItemize}

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Add\+:}} Add Struct adn Enum for Media\+Recorder
\begin{DoxyItemize}
\item Enum Media\+Recorder\+Container\+Format
\item Enum Media\+Recorder\+Stream\+Type
\item Enum Recorder\+State
\item Enum Recorder\+Error\+Code
\item Struct Media\+Recorder\+Configuration
\item Struct Recorder\+Info
\item Class I\+Media\+Recorder\+Observer
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/06-\/07) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}

R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+ON
\begin{DoxyItemize}
\item R\+E\+M\+O\+T\+E\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+A\+T\+E\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+S\+D\+K\+\_\+\+I\+N\+\_\+\+B\+A\+C\+K\+G\+R\+O\+U\+ND
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/05-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add}}
\begin{DoxyItemize}
\item Screen\+Capture\+Parameters add high\+Light\+Color,high\+Light\+Width,enable\+High\+Light
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/06-\/09) }

\doxysubsection*{\mbox{\hyperlink{_agora_media_base_8h_source}{Agora\+Media\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item virtual void On\+Encoded\+Video\+Frame\+Received (rtc\+::uid\+\_\+t uid, const uint8\+\_\+t$\ast$ image\+Buffer, size\+\_\+t length,const rtc\+::\+Encoded\+Video\+Frame\+Info\& video\+Encoded\+Frame\+Info) = 0;
\end{DoxyItemize}

\doxysection*{A\+PI (2021-\/06-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Delete\+:}}
\begin{DoxyItemize}
\item delete Fish\+Correction\+Params
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/01-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item Add A\+G\+O\+R\+A\+\_\+\+I\+I\+D\+\_\+\+S\+T\+A\+T\+E\+\_\+\+S\+Y\+NC, A\+G\+O\+R\+A\+\_\+\+I\+I\+D\+\_\+\+M\+E\+T\+A\+C\+H\+A\+T\+\_\+\+S\+E\+R\+V\+I\+CE
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/01-\/30) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+F\+R\+A\+M\+E\+R\+A\+T\+E\+\_\+\+C\+A\+P\+A\+B\+I\+L\+I\+TY
\end{DoxyItemize}

\doxysection*{A\+PI (2022-\/08-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Screen\+Capture\+Parameters high\+Light\+Color,high\+Light\+Width,enable\+High\+Light delete mac\+OS only
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/01-\/30) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum S\+C\+R\+E\+E\+N\+\_\+\+C\+A\+P\+T\+U\+R\+E\+\_\+\+F\+R\+A\+M\+E\+R\+A\+T\+E\+\_\+\+C\+A\+P\+A\+B\+I\+L\+I\+TY
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/03-\/20) }

\doxysubsection*{Agora\+Enumerates.\+h }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Agora\+Audio\+Output\+Routing\+Usb = 6,
\item Agora\+Audio\+Output\+Routing\+Hdmi = 7,
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/03-\/21) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item Update Video\+Encoder\+Configuration.\+bitrate annotation
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/05-\/15) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modified\+:}}
\begin{DoxyItemize}
\item update A\+G\+O\+R\+A\+\_\+\+I\+I\+D\+\_\+\+M\+E\+T\+A\+C\+H\+A\+T\+\_\+\+S\+E\+R\+V\+I\+CE to A\+G\+O\+R\+A\+\_\+\+I\+I\+D\+\_\+\+M\+E\+T\+A\+\_\+\+S\+E\+R\+V\+I\+CE
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/05-\/31) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item int query\+Device\+Score
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/08-\/08) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item struct Video\+Layout
\end{DoxyItemize}

\doxysection*{A\+PI (2023-\/09-\/21) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}} \doxysection*{-\/ struct Video\+Layout }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item struct set\+Video\+Encoder\+Configuration
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/01-\/18) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+E\+R\+R\+O\+R\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+I\+N\+T\+E\+R\+R\+U\+PT
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+E\+R\+R\+O\+R\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+F\+A\+T\+A\+L\+\_\+\+E\+R\+R\+OR
\end{DoxyItemize}

\DoxyHorRuler{0}
 \doxysubsection*{-\/ \mbox{\hyperlink{_i_agora_parameter_8h_source}{I\+Agora\+Parameter.\+h}} }

{\bfseries{Remove\+:}} Remove parameter key K\+E\+Y\+\_\+\+R\+T\+C\+\_\+\+V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+T\+Y\+PE

\doxysection*{A\+PI (2024-\/02-\/23) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} update annotation }


\begin{DoxyItemize}
\item R\+E\+M\+O\+T\+E\+\_\+\+A\+U\+D\+I\+O\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+N\+O\+\_\+\+P\+A\+C\+K\+E\+T\+\_\+\+R\+E\+C\+E\+I\+VE
\item R\+E\+M\+O\+T\+E\+\_\+\+A\+U\+D\+I\+O\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+P\+L\+A\+Y\+\_\+\+F\+A\+I\+L\+ED
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/03-\/12) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+E\+R\+R\+O\+R\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+I\+N\+T\+E\+R\+R\+U\+PT to L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+I\+N\+T\+E\+R\+R\+U\+PT
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+E\+R\+R\+O\+R\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+F\+A\+T\+A\+L\+\_\+\+E\+R\+R\+OR to L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+D\+E\+V\+I\+C\+E\+\_\+\+F\+A\+T\+A\+L\+\_\+\+E\+R\+R\+OR
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/03-\/12) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum C\+A\+M\+E\+R\+A\+\_\+\+F\+O\+C\+A\+L\+\_\+\+L\+E\+N\+G\+T\+H\+\_\+\+T\+Y\+PE
\item struct Focal\+Length\+Info
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/04-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum V\+O\+I\+C\+E\+\_\+\+A\+I\+\_\+\+T\+U\+N\+E\+R\+\_\+\+T\+Y\+PE
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/06-\/11) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item C\+A\+M\+E\+R\+A\+\_\+\+F\+O\+C\+A\+L\+\_\+\+L\+E\+N\+G\+T\+H\+\_\+\+U\+R\+L\+T\+R\+A\+\_\+\+W\+I\+DE to C\+A\+M\+E\+R\+A\+\_\+\+F\+O\+C\+A\+L\+\_\+\+L\+E\+N\+G\+T\+H\+\_\+\+U\+L\+T\+R\+A\+\_\+\+W\+I\+DE
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/07-\/29) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Mixed\+Audio\+Stream
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/08-\/21) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enum V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+T\+Y\+PE
\item enum H\+D\+R\+\_\+\+C\+A\+P\+A\+B\+I\+L\+I\+TY
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/09-\/14) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item D\+E\+G\+R\+A\+D\+A\+T\+I\+O\+N\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+CE Add M\+A\+I\+N\+T\+A\+I\+N\+\_\+\+A\+U\+T\+O(\+Default)
\item D\+E\+G\+R\+A\+D\+A\+T\+I\+O\+N\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+CE Deprecated M\+A\+I\+N\+T\+A\+I\+N\+\_\+\+Q\+U\+A\+L\+I\+TY
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/10-\/10) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Add\+:}}
\begin{DoxyItemize}
\item enable\+Audio\+Processing
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/10-\/16) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item Mixed\+Audio\+Stream channel\+Id
\end{DoxyItemize}

\doxysection*{A\+PI (2024-\/11-\/21) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Update\+:}}
\begin{DoxyItemize}
\item Video\+Encoder\+Configuration bitrate update comment
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/07-\/23) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Modify\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+A\+U\+D\+I\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+H\+D\+R\+\_\+\+T\+O\+\_\+\+S\+DR to L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+H\+D\+R\+\_\+\+T\+O\+\_\+\+S\+DR
\end{DoxyItemize}

\doxysection*{A\+PI (2025-\/07-\/31) }

\doxysubsection*{\mbox{\hyperlink{_agora_base_8h_source}{Agora\+Base.\+h}} }

{\bfseries{Delete\+:}}
\begin{DoxyItemize}
\item L\+O\+C\+A\+L\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+R\+E\+A\+S\+O\+N\+\_\+\+V\+I\+D\+E\+O\+\_\+\+S\+O\+U\+R\+C\+E\+\_\+\+H\+D\+R\+\_\+\+T\+O\+\_\+\+S\+DR 
\end{DoxyItemize}