906 iSdpCodec->DecodeRemoteRtcpFieldL( *audioLine, *mediaStream ); |
906 iSdpCodec->DecodeRemoteRtcpFieldL( *audioLine, *mediaStream ); |
907 EUNIT_ASSERT_EQUALS( 0, mediaStream->iRemoteRtcpPort ) |
907 EUNIT_ASSERT_EQUALS( 0, mediaStream->iRemoteRtcpPort ) |
908 EUNIT_ASSERT( mediaStream->iRemoteRtcpAddress.IsUnspecified() ) |
908 EUNIT_ASSERT( mediaStream->iRemoteRtcpAddress.IsUnspecified() ) |
909 audioLine->AttributeFields().ResetAndDestroy(); |
909 audioLine->AttributeFields().ResetAndDestroy(); |
910 |
910 |
|
911 // Rtcp attribute has incorrectly our local address, it should not be used |
|
912 mediaStream->Session()->iLocalIpAddress.Input( _L("10.20.30.40") ); |
|
913 rtcp = CSdpAttributeField::DecodeLC( _L8( "a=rtcp:5020 IN IP4 10.20.30.40\r\n" ) ); |
|
914 audioLine->AttributeFields().AppendL( rtcp ); |
|
915 CleanupStack::Pop( rtcp ); |
|
916 iSdpCodec->DecodeRemoteRtcpFieldL( *audioLine, *mediaStream ); |
|
917 EUNIT_ASSERT_EQUALS( 5020, mediaStream->iRemoteRtcpPort ) |
|
918 EUNIT_ASSERT( mediaStream->iRemoteRtcpAddress.IsUnspecified() ) // Not changed |
|
919 audioLine->AttributeFields().ResetAndDestroy(); |
|
920 |
|
921 // Rtcp attrubute is local loopback address, ok to use |
|
922 rtcp = CSdpAttributeField::DecodeLC( _L8( "a=rtcp:5020 IN IP4 127.0.0.1\r\n" ) ); |
|
923 audioLine->AttributeFields().AppendL( rtcp ); |
|
924 CleanupStack::Pop( rtcp ); |
|
925 iSdpCodec->DecodeRemoteRtcpFieldL( *audioLine, *mediaStream ); |
|
926 EUNIT_ASSERT_EQUALS( 5020, mediaStream->iRemoteRtcpPort ) |
|
927 EUNIT_ASSERT_EQUALS( INET_ADDR( 127,0,0,1 ), mediaStream->iRemoteRtcpAddress.Address() ) |
|
928 audioLine->AttributeFields().ResetAndDestroy(); |
|
929 |
|
930 // Incorrect white space usage |
|
931 rtcp = CSdpAttributeField::DecodeLC( _L8( "a=rtcp: 5050 IN IP4 2.2.2.2 \r\n" ) ); |
|
932 audioLine->AttributeFields().AppendL( rtcp ); |
|
933 CleanupStack::Pop( rtcp ); |
|
934 iSdpCodec->DecodeRemoteRtcpFieldL( *audioLine, *mediaStream ); |
|
935 EUNIT_ASSERT_EQUALS( 5050, mediaStream->iRemoteRtcpPort ) |
|
936 EUNIT_ASSERT_EQUALS( INET_ADDR( 2,2,2,2 ), mediaStream->iRemoteRtcpAddress.Address() ) |
|
937 audioLine->AttributeFields().ResetAndDestroy(); |
|
938 |
|
939 rtcp = CSdpAttributeField::DecodeLC( _L8( "a=rtcp: 50506\r\n" ) ); |
|
940 audioLine->AttributeFields().AppendL( rtcp ); |
|
941 CleanupStack::Pop( rtcp ); |
|
942 iSdpCodec->DecodeRemoteRtcpFieldL( *audioLine, *mediaStream ); |
|
943 EUNIT_ASSERT_EQUALS( 50506, mediaStream->iRemoteRtcpPort ) |
|
944 EUNIT_ASSERT_EQUALS( INET_ADDR( 2,2,2,2 ), mediaStream->iRemoteRtcpAddress.Address() ) |
|
945 audioLine->AttributeFields().ResetAndDestroy(); |
|
946 |
911 CleanupStack::PopAndDestroy( sdp ); |
947 CleanupStack::PopAndDestroy( sdp ); |
912 } |
948 } |
913 |
949 |
914 void UT_CMceMediaSdpCodec::UT_CMceMediaSdpCodec_EncodelocalRtcpAttrLL() |
950 void UT_CMceMediaSdpCodec::UT_CMceMediaSdpCodec_EncodelocalRtcpAttrLL() |
915 { |
951 { |