rtp/rtpstack/src/rtpsession.cpp
branchRCL_3
changeset 43 b5e99d8877c7
parent 16 43c4dec3cb1f
child 30 d7640adb246b
equal deleted inserted replaced
41:f54bfd820e04 43:b5e99d8877c7
   571                          ( iStreamTxArray->At( index ).GetStreamAddress() );
   571                          ( iStreamTxArray->At( index ).GetStreamAddress() );
   572             tempStream->ResetStreamStat();
   572             tempStream->ResetStreamStat();
   573             }
   573             }
   574     }
   574     }
   575 
   575 
       
   576 
       
   577 // ---------------------------------------------------------------------------
       
   578 // TInt CRtpSession::ReadyToSendRtpPacket()
       
   579 // 
       
   580 // ---------------------------------------------------------------------------
       
   581 //
       
   582 void CRtpSession::ReadyToSendRtpPacket(TRtpId aTranStreamId)
       
   583     {
       
   584     if ( iRtpPacketObserver )
       
   585         {
       
   586         RTP_DEBUG_DETAIL("Giving ReadyToSendRtpPacket() Call Back " );
       
   587         TPtr8 pktPtr(iPktSnd->Data(), iPktSnd->Size(), iPktSnd->Size());
       
   588         iRtpPacketObserver->ReadyToSendRtpPacket( aTranStreamId , pktPtr );
       
   589         }   
       
   590     }
       
   591 
       
   592 
   576 // ---------------------------------------------------------------------------
   593 // ---------------------------------------------------------------------------
   577 // TInt CRtpSession::SendRtpPacket()
   594 // TInt CRtpSession::SendRtpPacket()
   578 // 
   595 // 
   579 // ---------------------------------------------------------------------------
   596 // ---------------------------------------------------------------------------
   580 //
   597 //
   581 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   598 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   582                                  const TRtpSendHeader& aHeaderInfo, 
   599                                  const TRtpSendHeader& aHeaderInfo, 
   583                                  const TDesC8& aPayloadData )
   600                                  const TDesC8& aPayloadData,
       
   601                                  const TArray<TRtpCSRC> *aCsrcList )
   584     {
   602     {
   585     if ( static_cast<TUint> (aPayloadData.Size()) > iCommNet->MaxSocketSize() )
   603     if ( static_cast<TUint> (aPayloadData.Size()) > iCommNet->MaxSocketSize() )
   586     	{
   604     	{
   587     	return KErrOverflow;
   605     	return KErrOverflow;
   588     	}
   606     	}
   593 
   611 
   594     if ( ret == KErrNone )
   612     if ( ret == KErrNone )
   595         {
   613         {
   596         CRtpTranStream* tempStream = ( CRtpTranStream* ) streamAddress;
   614         CRtpTranStream* tempStream = ( CRtpTranStream* ) streamAddress;
   597         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
   615         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
   598                                     iPktSnd );
   616                                     iPktSnd, aCsrcList );
       
   617         
       
   618         ReadyToSendRtpPacket(aTranStreamId);
       
   619         
   599         ret = iCommNet->Send( ERTPPort, iPktSnd->Des() );
   620         ret = iCommNet->Send( ERTPPort, iPktSnd->Des() );
   600         }
   621         }
   601     return ret;
   622     return ret;
   602     }
   623     }
       
   624 
   603 
   625 
   604 // ---------------------------------------------------------------------------
   626 // ---------------------------------------------------------------------------
   605 // TInt CRtpSession::SendRtpPacket()
   627 // TInt CRtpSession::SendRtpPacket()
   606 // 
   628 // 
   607 // ---------------------------------------------------------------------------
   629 // ---------------------------------------------------------------------------
   608 //
   630 //
   609 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   631 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   610                                  const TRtpSendHeader& aHeaderInfo,
   632                                  const TRtpSendHeader& aHeaderInfo,
   611                                  const TDesC8& aPayloadData,
   633                                  const TDesC8& aPayloadData,
   612                                  TRequestStatus& aStatus )
   634                                  TRequestStatus& aStatus,
       
   635                                  const TArray<TRtpCSRC> *aCsrcList )
   613     {
   636     {
   614     if ( static_cast<TUint>( aPayloadData.Size() ) > iCommNet->MaxSocketSize() )
   637     if ( static_cast<TUint>( aPayloadData.Size() ) > iCommNet->MaxSocketSize() )
   615     	{
   638     	{
   616     	return KErrOverflow;
   639     	return KErrOverflow;
   617     	}
   640     	}
   623     if ( ret == KErrNone )
   646     if ( ret == KErrNone )
   624         {
   647         {
   625         CRtpTranStream* tempStream =
   648         CRtpTranStream* tempStream =
   626             reinterpret_cast<CRtpTranStream*>( streamAddress );
   649             reinterpret_cast<CRtpTranStream*>( streamAddress );
   627         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
   650         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
   628                                     iPktSnd );
   651                                     iPktSnd, aCsrcList );
       
   652 									
       
   653         ReadyToSendRtpPacket(aTranStreamId);
       
   654 			
   629         iCommNet->Send( ERTPPort, iPktSnd->Des(), aStatus );
   655         iCommNet->Send( ERTPPort, iPktSnd->Des(), aStatus );
   630         }
   656         }
   631     return ret;
   657     return ret;
   632     }
   658     }
   633 
   659 
   705 //
   731 //
   706 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   732 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   707                                  TRtpSequence aSequenceNum,
   733                                  TRtpSequence aSequenceNum,
   708                                  const TRtpSendHeader& aHeaderInfo,
   734                                  const TRtpSendHeader& aHeaderInfo,
   709                                  const TDesC8& aPayloadData,
   735                                  const TDesC8& aPayloadData,
   710                                  TRequestStatus& aStatus )
   736                                  TRequestStatus& aStatus,
       
   737                                  const TArray<TRtpCSRC> *aCsrcList )
   711     {
   738     {
   712     if ( static_cast<TUint>( aPayloadData.Size() ) > iCommNet->MaxSocketSize() )
   739     if ( static_cast<TUint>( aPayloadData.Size() ) > iCommNet->MaxSocketSize() )
   713     	{
   740     	{
   714     	return KErrOverflow;
   741     	return KErrOverflow;
   715     	}
   742     	}
   721     if ( ret == KErrNone )
   748     if ( ret == KErrNone )
   722         {
   749         {
   723         CRtpTranStream* tempStream =
   750         CRtpTranStream* tempStream =
   724             reinterpret_cast<CRtpTranStream*>( streamAddress );
   751             reinterpret_cast<CRtpTranStream*>( streamAddress );
   725         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, aSequenceNum,
   752         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, aSequenceNum,
   726                                     ETrue, iPktSnd );
   753                                     ETrue, iPktSnd, aCsrcList );
       
   754         
       
   755         ReadyToSendRtpPacket(aTranStreamId);								
       
   756 									
   727         iCommNet->Send( ERTPPort, iPktSnd->Des(), aStatus );
   757         iCommNet->Send( ERTPPort, iPktSnd->Des(), aStatus );
   728         }
   758         }
   729     return ret;
   759     return ret;
   730     }
   760     }
   731 
   761 
  1142         {
  1172         {
  1143         tempStream = ( CRtpRecvStream* )
  1173         tempStream = ( CRtpRecvStream* )
  1144                      ( iStreamRxArray->At( index ).GetStreamAddress() );
  1174                      ( iStreamRxArray->At( index ).GetStreamAddress() );
  1145         tempStream->UnRegisterRtpObserver();    
  1175         tempStream->UnRegisterRtpObserver();    
  1146         }                   
  1176         }                   
       
  1177     }
       
  1178 
       
  1179 
       
  1180 // ---------------------------------------------------------------------------
       
  1181 // TInt CRtpSession::RegisterRtpPostProcessingObserver()
       
  1182 // 
       
  1183 // ---------------------------------------------------------------------------
       
  1184 //
       
  1185 TInt CRtpSession::RegisterRtpPostProcessingObserver( MRtpPostProcessingObserver& aRTPPacketObserver )
       
  1186     {
       
  1187     iRtpPacketObserver = &aRTPPacketObserver;  
       
  1188     
       
  1189     return KErrNone;
       
  1190     }
       
  1191 
       
  1192 // ---------------------------------------------------------------------------
       
  1193 // CRtpSession::UnregisterRtpPostProcessingObserver()
       
  1194 // 
       
  1195 // ---------------------------------------------------------------------------
       
  1196 //
       
  1197 void CRtpSession::UnregisterRtpPostProcessingObserver()
       
  1198     {
       
  1199     iRtpPacketObserver = NULL;
  1147     }
  1200     }
  1148 
  1201 
  1149 // ---------------------------------------------------------------------------
  1202 // ---------------------------------------------------------------------------
  1150 // TInt CRtpSession::RegisterRtcpObserver()
  1203 // TInt CRtpSession::RegisterRtcpObserver()
  1151 // 
  1204 //