rtp/rtpstack/src/rtpsession.cpp
branchRCL_3
changeset 44 0dcb073356a5
parent 43 b5e99d8877c7
child 33 b8a7e07b2677
equal deleted inserted replaced
43:b5e99d8877c7 44:0dcb073356a5
   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 
       
   593 // ---------------------------------------------------------------------------
   576 // ---------------------------------------------------------------------------
   594 // TInt CRtpSession::SendRtpPacket()
   577 // TInt CRtpSession::SendRtpPacket()
   595 // 
   578 // 
   596 // ---------------------------------------------------------------------------
   579 // ---------------------------------------------------------------------------
   597 //
   580 //
   598 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   581 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   599                                  const TRtpSendHeader& aHeaderInfo, 
   582                                  const TRtpSendHeader& aHeaderInfo, 
   600                                  const TDesC8& aPayloadData,
   583                                  const TDesC8& aPayloadData )
   601                                  const TArray<TRtpCSRC> *aCsrcList )
       
   602     {
   584     {
   603     if ( static_cast<TUint> (aPayloadData.Size()) > iCommNet->MaxSocketSize() )
   585     if ( static_cast<TUint> (aPayloadData.Size()) > iCommNet->MaxSocketSize() )
   604     	{
   586     	{
   605     	return KErrOverflow;
   587     	return KErrOverflow;
   606     	}
   588     	}
   611 
   593 
   612     if ( ret == KErrNone )
   594     if ( ret == KErrNone )
   613         {
   595         {
   614         CRtpTranStream* tempStream = ( CRtpTranStream* ) streamAddress;
   596         CRtpTranStream* tempStream = ( CRtpTranStream* ) streamAddress;
   615         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
   597         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
   616                                     iPktSnd, aCsrcList );
   598                                     iPktSnd );
   617         
       
   618         ReadyToSendRtpPacket(aTranStreamId);
       
   619         
       
   620         ret = iCommNet->Send( ERTPPort, iPktSnd->Des() );
   599         ret = iCommNet->Send( ERTPPort, iPktSnd->Des() );
   621         }
   600         }
   622     return ret;
   601     return ret;
   623     }
   602     }
   624 
       
   625 
   603 
   626 // ---------------------------------------------------------------------------
   604 // ---------------------------------------------------------------------------
   627 // TInt CRtpSession::SendRtpPacket()
   605 // TInt CRtpSession::SendRtpPacket()
   628 // 
   606 // 
   629 // ---------------------------------------------------------------------------
   607 // ---------------------------------------------------------------------------
   630 //
   608 //
   631 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   609 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   632                                  const TRtpSendHeader& aHeaderInfo,
   610                                  const TRtpSendHeader& aHeaderInfo,
   633                                  const TDesC8& aPayloadData,
   611                                  const TDesC8& aPayloadData,
   634                                  TRequestStatus& aStatus,
   612                                  TRequestStatus& aStatus )
   635                                  const TArray<TRtpCSRC> *aCsrcList )
       
   636     {
   613     {
   637     if ( static_cast<TUint>( aPayloadData.Size() ) > iCommNet->MaxSocketSize() )
   614     if ( static_cast<TUint>( aPayloadData.Size() ) > iCommNet->MaxSocketSize() )
   638     	{
   615     	{
   639     	return KErrOverflow;
   616     	return KErrOverflow;
   640     	}
   617     	}
   646     if ( ret == KErrNone )
   623     if ( ret == KErrNone )
   647         {
   624         {
   648         CRtpTranStream* tempStream =
   625         CRtpTranStream* tempStream =
   649             reinterpret_cast<CRtpTranStream*>( streamAddress );
   626             reinterpret_cast<CRtpTranStream*>( streamAddress );
   650         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
   627         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
   651                                     iPktSnd, aCsrcList );
   628                                     iPktSnd );
   652 									
       
   653         ReadyToSendRtpPacket(aTranStreamId);
       
   654 			
       
   655         iCommNet->Send( ERTPPort, iPktSnd->Des(), aStatus );
   629         iCommNet->Send( ERTPPort, iPktSnd->Des(), aStatus );
   656         }
   630         }
   657     return ret;
   631     return ret;
   658     }
   632     }
   659 
   633 
   731 //
   705 //
   732 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   706 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
   733                                  TRtpSequence aSequenceNum,
   707                                  TRtpSequence aSequenceNum,
   734                                  const TRtpSendHeader& aHeaderInfo,
   708                                  const TRtpSendHeader& aHeaderInfo,
   735                                  const TDesC8& aPayloadData,
   709                                  const TDesC8& aPayloadData,
   736                                  TRequestStatus& aStatus,
   710                                  TRequestStatus& aStatus )
   737                                  const TArray<TRtpCSRC> *aCsrcList )
       
   738     {
   711     {
   739     if ( static_cast<TUint>( aPayloadData.Size() ) > iCommNet->MaxSocketSize() )
   712     if ( static_cast<TUint>( aPayloadData.Size() ) > iCommNet->MaxSocketSize() )
   740     	{
   713     	{
   741     	return KErrOverflow;
   714     	return KErrOverflow;
   742     	}
   715     	}
   748     if ( ret == KErrNone )
   721     if ( ret == KErrNone )
   749         {
   722         {
   750         CRtpTranStream* tempStream =
   723         CRtpTranStream* tempStream =
   751             reinterpret_cast<CRtpTranStream*>( streamAddress );
   724             reinterpret_cast<CRtpTranStream*>( streamAddress );
   752         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, aSequenceNum,
   725         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, aSequenceNum,
   753                                     ETrue, iPktSnd, aCsrcList );
   726                                     ETrue, iPktSnd );
   754         
       
   755         ReadyToSendRtpPacket(aTranStreamId);								
       
   756 									
       
   757         iCommNet->Send( ERTPPort, iPktSnd->Des(), aStatus );
   727         iCommNet->Send( ERTPPort, iPktSnd->Des(), aStatus );
   758         }
   728         }
   759     return ret;
   729     return ret;
   760     }
   730     }
   761 
   731 
  1172         {
  1142         {
  1173         tempStream = ( CRtpRecvStream* )
  1143         tempStream = ( CRtpRecvStream* )
  1174                      ( iStreamRxArray->At( index ).GetStreamAddress() );
  1144                      ( iStreamRxArray->At( index ).GetStreamAddress() );
  1175         tempStream->UnRegisterRtpObserver();    
  1145         tempStream->UnRegisterRtpObserver();    
  1176         }                   
  1146         }                   
  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;
       
  1200     }
  1147     }
  1201 
  1148 
  1202 // ---------------------------------------------------------------------------
  1149 // ---------------------------------------------------------------------------
  1203 // TInt CRtpSession::RegisterRtcpObserver()
  1150 // TInt CRtpSession::RegisterRtcpObserver()
  1204 // 
  1151 //