ipappprotocols_plat/rtprtcp_api/inc/rtpdef.h
branchRCL_3
changeset 43 b5e99d8877c7
parent 0 307788aac0a8
child 30 d7640adb246b
equal deleted inserted replaced
41:f54bfd820e04 43:b5e99d8877c7
    32 const TUint KMaxRtcpAppData = 512;
    32 const TUint KMaxRtcpAppData = 512;
    33 const TInt KMaxRtcpReason = 255; // max of RTCP APP packet in bytes
    33 const TInt KMaxRtcpReason = 255; // max of RTCP APP packet in bytes
    34 const TUint KMaxSdesItemSize = 255;
    34 const TUint KMaxSdesItemSize = 255;
    35 const TUint KSocketBufSize = 4096;
    35 const TUint KSocketBufSize = 4096;
    36 const TInt KMinRtpHeaderSize = 12; // 96 bits in header, 96/8 = 12
    36 const TInt KMinRtpHeaderSize = 12; // 96 bits in header, 96/8 = 12
       
    37 const TInt KMaxCsrcIdentifiers = 15;
    37 
    38 
    38 // DATA TYPES
    39 // DATA TYPES
    39 
    40 
    40 typedef TUint32 TRtpId;
    41 typedef TUint32 TRtpId;
    41 const TRtpId KNullId = 0xffffffff;
    42 const TRtpId KNullId = 0xffffffff;
    42 
    43 
    43 typedef TUint32 TRtpSSRC;       //
    44 typedef TUint32 TRtpSSRC;       //
       
    45 typedef TUint32 TRtpCSRC;       //
    44 typedef TUint8 TRtpPayloadType; // payload type of the RTP packet
    46 typedef TUint8 TRtpPayloadType; // payload type of the RTP packet
    45 typedef TUint16 TRtpSequence;   // sequence number of the RTP packet
    47 typedef TUint16 TRtpSequence;   // sequence number of the RTP packet
    46 typedef TUint32 TRtpTimeStamp;  // timestamp of the RTP packet
    48 typedef TUint32 TRtpTimeStamp;  // timestamp of the RTP packet
    47 
    49 
    48 //
    50 //
    53 typedef TInt TRtcpAppSubType;   // subtype ID under the same name
    55 typedef TInt TRtcpAppSubType;   // subtype ID under the same name
    54 
    56 
    55 // FORWARD DECLARATIONS
    57 // FORWARD DECLARATIONS
    56 class TRtpSendHeader;
    58 class TRtpSendHeader;
    57 class TRtpRecvHeader;
    59 class TRtpRecvHeader;
       
    60 class TRtpSendPktParams;
    58 
    61 
    59 // CLASS DECLARATION
    62 // CLASS DECLARATION
    60 
    63 
    61 /**
    64 /**
    62 *  RTCP APP class. 
    65 *  RTCP APP class. 
   204         TUint32 iNTPTimeStampFrac;        // NTP fraction of second
   207         TUint32 iNTPTimeStampFrac;        // NTP fraction of second
   205         TRtpTimeStamp iTimeStamp;         // RTP Time stamp
   208         TRtpTimeStamp iTimeStamp;         // RTP Time stamp
   206     };
   209     };
   207 
   210 
   208 
   211 
       
   212 /**
       
   213 *  Header class for sending RTP Packets
       
   214 *
       
   215 *  @lib RtpService.dll
       
   216 */
       
   217 class TRtpSendPktParams
       
   218     {
       
   219 public:
       
   220     
       
   221     TRtpSendPktParams(TRtpSendHeader &aHeaderInfo);
       
   222 
       
   223     TRtpId iTranStreamId;           // Transtream Id
       
   224     TRtpSendHeader  &iHeaderInfo;   // Standard fixed header of RTP packet to send.
       
   225     TPtrC8 iPayloadData;            // Payload
       
   226     TRequestStatus *iStatus;
       
   227     TRtpSequence *iSequenceNum;     // Sequence Number
       
   228     };
       
   229 
       
   230 inline TRtpSendPktParams::TRtpSendPktParams(TRtpSendHeader &aHeaderInfo) : iTranStreamId( 0 ), 
       
   231                                                   iHeaderInfo( aHeaderInfo ),
       
   232                                                   iStatus( 0 ),
       
   233                                                   iSequenceNum( 0 )
       
   234     {
       
   235     };
   209 
   236 
   210 /**
   237 /**
   211  * An interface to the callback functions for asynchronous event
   238  * An interface to the callback functions for asynchronous event
   212  * notifications from RTP module.
   239  * notifications from RTP module.
   213  *
   240  *
   316         */
   343         */
   317         virtual void NonRTPDataReceived( TUint aPort, TBool aRTPport, const TDesC8& aNonRTPData ) = 0;
   344         virtual void NonRTPDataReceived( TUint aPort, TBool aRTPport, const TDesC8& aNonRTPData ) = 0;
   318 
   345 
   319     };
   346     };
   320 
   347 
       
   348 
       
   349 /**
       
   350 *  callback functions for Send RTP packets. 
       
   351 *
       
   352 *  @lib RtpService.dll
       
   353 */
       
   354 class MRtpPostProcessingObserver
       
   355     {
       
   356     public:
       
   357         /**
       
   358         * Callback function to receive a handle to RTP packet which is ready to send.
       
   359         * @param TRtpId aTranStreamId - Transimission stream id
       
   360         * @param TPtr8 &aPacket -  RTP packet Ready to send
       
   361         * @return None
       
   362         */
       
   363         virtual void ReadyToSendRtpPacket( TRtpId aTranStreamId, TPtr8 &aPacket ) = 0;
       
   364 
       
   365     };
       
   366 
   321 #endif // __RTPDEF_H
   367 #endif // __RTPDEF_H