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