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 // |