\doxysection{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider\+Mpeg4\+Generic Class Reference}
\hypertarget{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic}{}\label{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic}\index{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic@{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic}}


A class to create RTP Packet using the MPEG4-\/\+GENERIC profile, based on RFC 3640 (\href{http://www.rfc-editor.org/rfc/rfc3640.txt}{\texttt{ http\+://www.\+rfc-\/editor.\+org/rfc/rfc3640.\+txt}})  


Inheritance diagram for com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider\+Mpeg4\+Generic\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.000000cm]{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_a88bc1ac25a999d69f4745f87d222e25f}{on\+Audio\+Config\+Decoded}} (Audio\+Config audio\+Config)
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider}}}
\begin{DoxyCompactItemize}
\item 
void {\bfseries on\+Audio\+Data\+Decoded} (byte\mbox{[}$\,$\mbox{]} audio\+Data, int audio\+Data\+Length, int timestamp)
\item 
String \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_affdba17fe90ee47af750db6a82373364}{get\+Sdp\+Config}} (String abs\+Control\+Url)
\begin{DoxyCompactList}\small\item\em Returns the SDP string to be sent by the RTSP server in response to a Describe request. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_ada9e74c7980a52681168a8f41976acc5}{stop}} ()
\begin{DoxyCompactList}\small\item\em In addition to the default stop, Resets the Sdp Config state to make sure to block the next time that this provider is used, until the Sdp\+Config is ready again. \end{DoxyCompactList}\item 
void {\bfseries stop\+Blocking\+Until\+Audio\+Config\+Ready} ()
\begin{DoxyCompactList}\small\item\em Unblock the thread waiting on a call to block\+Until\+Ready. \end{DoxyCompactList}\item 
boolean \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_a093c1586e60da0d3075a717132fc2239}{is\+Sdp\+Config\+Ready}} ()
\begin{DoxyCompactList}\small\item\em Tells if the SDP strings can be retrieved without blocking. \end{DoxyCompactList}\item 
short \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_a43408c531572e2a4616851581561ab25}{get\+First\+Packet\+Sequence\+Number}} ()
\begin{DoxyCompactList}\small\item\em Gets the sequence number that the first packet in the queue has (or will have when it is inserted). \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_a5087676744ce817b6cab1ffc165a85cd}{get\+First\+Packet\+Timestamp}} ()
\begin{DoxyCompactList}\small\item\em Gets the timestamp that the first packet in the queue has (or will have when it is inserted). \end{DoxyCompactList}\item 
void {\bfseries set\+State\+Changed\+Listener} (\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_1_1StateChangedListener}{State\+Changed\+Listener}} state\+Changed\+Listener)
\begin{DoxyCompactList}\small\item\em Sets the listener to be notified by any state change on this provider. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1DataProvider}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+Data\+Provider}}}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1Packet}{Packet}} \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1DataProvider_a5502fc0145f47788790d36ee91bc771a}{get\+Packet}} ()
\begin{DoxyCompactList}\small\item\em Returns the next Packet in the stream. \end{DoxyCompactList}\item 
void {\bfseries add\+Free\+Packet\+To\+Pool} (\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1Packet}{Packet}} packet)
\begin{DoxyCompactList}\small\item\em Puts the given packet back in the free pool packets. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1DataProvider_aa22416b278bb1f2409a06cba131847fd}{clear\+Internal\+Buffer}} ()
\begin{DoxyCompactList}\small\item\em If the provider keeps a buffer of already available packets, clear it immediately. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
String \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_a4cf88a24a0982e7840b6e766bd274b7d}{get\+Profile\+Specific\+Sdp\+Config}} ()
\item 
int \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_a4f13d8827c6fcdf1c3b7694e09041571}{get\+Payload\+Size}} (int audio\+Data\+Length)
\item 
void \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_aae17fbfc61cbc42913737f5864e79924}{create\+Payload}} (byte\mbox{[}$\,$\mbox{]} audio\+Data, int audio\+Data\+Length, byte\mbox{[}$\,$\mbox{]} out\+Payload, int out\+Payload\+Offset)
\begin{DoxyCompactList}\small\item\em Create the payload for RTP Packet with the MPEG4-\/\+GENERIC profile. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider}}}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1Packet}{Packet}} \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_abcf78db7251232d5b1a143aa82b04b99}{create\+Empty\+Packet}} ()
\item 
int \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_af52ab8ee1fb46ae1fe54679d66289b00}{get\+Rtp\+Timestamp}} (int timestamp\+MS)
\begin{DoxyCompactList}\small\item\em Compute the RTP timestamp, which is the number of samples since the beginning of the stream. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_a14fbc3db1fddb6965b7c2e4ffe33625f}{notify\+Listener\+Sdp\+Config\+Ready}} ()
\begin{DoxyCompactList}\small\item\em Notifies listener that the SDP Config can now be produced without blocking. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_a5d3c2618bdb8b65372899e77c770f99a}{notify\+Listener\+Error}} (Error\+Detail error\+Detail)
\begin{DoxyCompactList}\small\item\em Notifies listener that an unrecoverable error has been encountered. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1DataProvider}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+Data\+Provider}}}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1Packet}{Packet}} \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1DataProvider_ac82fea6799dac8348e21b68c5e675661}{get\+Free\+Packet}} ()
\begin{DoxyCompactList}\small\item\em Returns a free packet to use for the creation of a new packet. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1DataProvider_aa29588d8cea9453d3051c3316c55dbe2}{enqueue\+Packet}} (\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1Packet}{Packet}} packet)
\begin{DoxyCompactList}\small\item\em Enqueue a Packet to be sent to the server. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider}}}
\begin{DoxyCompactItemize}
\item 
final String {\bfseries TAG} = "{}Rtp\+Packet\+Provider"{}
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider}}}
\begin{DoxyCompactItemize}
\item 
Audio\+Config {\bfseries m\+Audio\+Config}
\item 
short {\bfseries m\+Next\+Packet\+Sequence\+Number} = 0
\begin{DoxyCompactList}\small\item\em Increments by one for each new packet that is pushed in the queue. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1DataProvider}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+Data\+Provider}}}
\begin{DoxyCompactItemize}
\item 
final Array\+Blocking\+Queue$<$ \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1Packet}{Packet}} $>$ \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1DataProvider_a4620a04632fe2b469f99d19f51f065f9}{m\+Packets\+Queue}} = new Array\+Blocking\+Queue$<$$>$(QUEUE\+\_\+\+SIZE)
\begin{DoxyCompactList}\small\item\em List of all packets that were received from the client and not sent to the server yet. \end{DoxyCompactList}\item 
final Array\+Blocking\+Queue$<$ \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1Packet}{Packet}} $>$ {\bfseries m\+Free\+Packets\+Pool} = new Array\+Blocking\+Queue$<$$>$(QUEUE\+\_\+\+SIZE)
\end{DoxyCompactItemize}
\doxysubsection*{Static Protected Attributes inherited from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider}}}
\begin{DoxyCompactItemize}
\item 
static final String {\bfseries LOCALHOST} = "{}127.\+0.\+0.\+1"{}
\item 
static final String {\bfseries CRLF} = "{}\textbackslash{}r\textbackslash{}n"{}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
A class to create RTP Packet using the MPEG4-\/\+GENERIC profile, based on RFC 3640 (\href{http://www.rfc-editor.org/rfc/rfc3640.txt}{\texttt{ http\+://www.\+rfc-\/editor.\+org/rfc/rfc3640.\+txt}}) 

\doxysubsection{Member Function Documentation}
\Hypertarget{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_aae17fbfc61cbc42913737f5864e79924}\label{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_aae17fbfc61cbc42913737f5864e79924} 
\index{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic@{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic}!createPayload@{createPayload}}
\index{createPayload@{createPayload}!com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic@{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic}}
\doxysubsubsection{\texorpdfstring{createPayload()}{createPayload()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider\+Mpeg4\+Generic.\+create\+Payload (\begin{DoxyParamCaption}\item[{byte\mbox{[}$\,$\mbox{]}}]{audio\+Data,  }\item[{int}]{audio\+Data\+Length,  }\item[{byte\mbox{[}$\,$\mbox{]}}]{out\+Payload,  }\item[{int}]{out\+Payload\+Offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}



Create the payload for RTP Packet with the MPEG4-\/\+GENERIC profile. 

Puts the content of the payload in the given preallocated output buffer and the given offset. This helps preventing new buffer copy by reusing the same bytes array for the output.


\begin{DoxyParams}{Parameters}
{\em audio\+Data} & The data to put in the payload \\
\hline
{\em audio\+Data\+Length} & The part of the Audio\+Data buffer to use (buffer might be bigger if is is reused) \\
\hline
{\em out\+Payload} & Reference to a byte array preallocated with enough memory (at least the size returned by get\+Payload\+Size) \\
\hline
{\em out\+Payload\+Offset} & Offset at which the payload will be written in out\+Payload, allowing to create a header before the payload. \\
\hline
\end{DoxyParams}


Reimplemented from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_a3ab0a2cd020cbd96b1604f787975f553}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider}}.

\Hypertarget{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_a4f13d8827c6fcdf1c3b7694e09041571}\label{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_a4f13d8827c6fcdf1c3b7694e09041571} 
\index{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic@{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic}!getPayloadSize@{getPayloadSize}}
\index{getPayloadSize@{getPayloadSize}!com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic@{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic}}
\doxysubsubsection{\texorpdfstring{getPayloadSize()}{getPayloadSize()}}
{\footnotesize\ttfamily int com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider\+Mpeg4\+Generic.\+get\+Payload\+Size (\begin{DoxyParamCaption}\item[{int}]{audio\+Data\+Length }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}



Reimplemented from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_a9e2776ccd42d8666cadebde112771f82}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider}}.

\Hypertarget{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_a4cf88a24a0982e7840b6e766bd274b7d}\label{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_a4cf88a24a0982e7840b6e766bd274b7d} 
\index{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic@{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic}!getProfileSpecificSdpConfig@{getProfileSpecificSdpConfig}}
\index{getProfileSpecificSdpConfig@{getProfileSpecificSdpConfig}!com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic@{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic}}
\doxysubsubsection{\texorpdfstring{getProfileSpecificSdpConfig()}{getProfileSpecificSdpConfig()}}
{\footnotesize\ttfamily String com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider\+Mpeg4\+Generic.\+get\+Profile\+Specific\+Sdp\+Config (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}



Reimplemented from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_a4774c6013e6f461a0392ac194507f0d7}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider}}.

\Hypertarget{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_a88bc1ac25a999d69f4745f87d222e25f}\label{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProviderMpeg4Generic_a88bc1ac25a999d69f4745f87d222e25f} 
\index{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic@{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic}!onAudioConfigDecoded@{onAudioConfigDecoded}}
\index{onAudioConfigDecoded@{onAudioConfigDecoded}!com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic@{com.tritondigital.net.streaming.proxy.dataprovider.rtp.RtpPacketProviderMpeg4Generic}}
\doxysubsubsection{\texorpdfstring{onAudioConfigDecoded()}{onAudioConfigDecoded()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider\+Mpeg4\+Generic.\+on\+Audio\+Config\+Decoded (\begin{DoxyParamCaption}\item[{Audio\+Config}]{audio\+Config }\end{DoxyParamCaption})}



Reimplemented from \mbox{\hyperlink{classcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1dataprovider_1_1rtp_1_1RtpPacketProvider_a05e9a6ab9833c2767611e7738686bc05}{com.\+tritondigital.\+net.\+streaming.\+proxy.\+dataprovider.\+rtp.\+Rtp\+Packet\+Provider}}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
sdk/src/main/java/com/tritondigital/net/streaming/proxy/dataprovider/rtp/Rtp\+Packet\+Provider\+Mpeg4\+Generic.\+java\end{DoxyCompactItemize}
