Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(471)

Side by Side Diff: talk/app/webrtc/webrtcsession_unittest.cc

Issue 1362503003: Use suffixed {uint,int}{8,16,32,64}_t types. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase + revert basictypes.h (to be landed separately just in case of a revert due to unexpected us… Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « talk/app/webrtc/webrtcsession.cc ('k') | talk/app/webrtc/webrtcsessiondescriptionfactory.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2012 Google Inc. 3 * Copyright 2012 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 1447 matching lines...) Expand 10 before | Expand all | Expand 10 after
1458 ASSERT_EQ(1u, voice_channel_->send_streams().size()); 1458 ASSERT_EQ(1u, voice_channel_->send_streams().size());
1459 EXPECT_TRUE(kAudioTrack1 == voice_channel_->send_streams()[0].id); 1459 EXPECT_TRUE(kAudioTrack1 == voice_channel_->send_streams()[0].id);
1460 1460
1461 // Create new offer without send streams. 1461 // Create new offer without send streams.
1462 mediastream_signaling_.SendNothing(); 1462 mediastream_signaling_.SendNothing();
1463 offer = CreateOffer(); 1463 offer = CreateOffer();
1464 1464
1465 // Verify the session id is the same and the session version is 1465 // Verify the session id is the same and the session version is
1466 // increased. 1466 // increased.
1467 EXPECT_EQ(session_id_orig, offer->session_id()); 1467 EXPECT_EQ(session_id_orig, offer->session_id());
1468 EXPECT_LT(rtc::FromString<uint64>(session_version_orig), 1468 EXPECT_LT(rtc::FromString<uint64_t>(session_version_orig),
1469 rtc::FromString<uint64>(offer->session_version())); 1469 rtc::FromString<uint64_t>(offer->session_version()));
1470 1470
1471 SetLocalDescriptionWithoutError(offer); 1471 SetLocalDescriptionWithoutError(offer);
1472 EXPECT_EQ(0u, video_channel_->send_streams().size()); 1472 EXPECT_EQ(0u, video_channel_->send_streams().size());
1473 EXPECT_EQ(0u, voice_channel_->send_streams().size()); 1473 EXPECT_EQ(0u, voice_channel_->send_streams().size());
1474 1474
1475 mediastream_signaling_.SendAudioVideoStream2(); 1475 mediastream_signaling_.SendAudioVideoStream2();
1476 answer = CreateRemoteAnswer(session_->local_description()); 1476 answer = CreateRemoteAnswer(session_->local_description());
1477 SetRemoteDescriptionWithoutError(answer); 1477 SetRemoteDescriptionWithoutError(answer);
1478 1478
1479 // Make sure the receive streams have not changed. 1479 // Make sure the receive streams have not changed.
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1518 offer = CreateOffer(); 1518 offer = CreateOffer();
1519 SetRemoteDescriptionWithoutError(offer); 1519 SetRemoteDescriptionWithoutError(offer);
1520 1520
1521 // Answer by turning off all send streams. 1521 // Answer by turning off all send streams.
1522 mediastream_signaling_.SendNothing(); 1522 mediastream_signaling_.SendNothing();
1523 answer = CreateAnswer(NULL); 1523 answer = CreateAnswer(NULL);
1524 1524
1525 // Verify the session id is the same and the session version is 1525 // Verify the session id is the same and the session version is
1526 // increased. 1526 // increased.
1527 EXPECT_EQ(session_id_orig, answer->session_id()); 1527 EXPECT_EQ(session_id_orig, answer->session_id());
1528 EXPECT_LT(rtc::FromString<uint64>(session_version_orig), 1528 EXPECT_LT(rtc::FromString<uint64_t>(session_version_orig),
1529 rtc::FromString<uint64>(answer->session_version())); 1529 rtc::FromString<uint64_t>(answer->session_version()));
1530 SetLocalDescriptionWithoutError(answer); 1530 SetLocalDescriptionWithoutError(answer);
1531 1531
1532 ASSERT_EQ(2u, video_channel_->recv_streams().size()); 1532 ASSERT_EQ(2u, video_channel_->recv_streams().size());
1533 EXPECT_TRUE(kVideoTrack1 == video_channel_->recv_streams()[0].id); 1533 EXPECT_TRUE(kVideoTrack1 == video_channel_->recv_streams()[0].id);
1534 EXPECT_TRUE(kVideoTrack2 == video_channel_->recv_streams()[1].id); 1534 EXPECT_TRUE(kVideoTrack2 == video_channel_->recv_streams()[1].id);
1535 ASSERT_EQ(2u, voice_channel_->recv_streams().size()); 1535 ASSERT_EQ(2u, voice_channel_->recv_streams().size());
1536 EXPECT_TRUE(kAudioTrack1 == voice_channel_->recv_streams()[0].id); 1536 EXPECT_TRUE(kAudioTrack1 == voice_channel_->recv_streams()[0].id);
1537 EXPECT_TRUE(kAudioTrack2 == voice_channel_->recv_streams()[1].id); 1537 EXPECT_TRUE(kAudioTrack2 == voice_channel_->recv_streams()[1].id);
1538 1538
1539 // Make sure we have no send streams. 1539 // Make sure we have no send streams.
(...skipping 1560 matching lines...) Expand 10 before | Expand all | Expand 10 after
3100 SetLocalDescriptionWithoutError(offer); 3100 SetLocalDescriptionWithoutError(offer);
3101 } 3101 }
3102 3102
3103 TEST_F(WebRtcSessionTest, SetAudioPlayout) { 3103 TEST_F(WebRtcSessionTest, SetAudioPlayout) {
3104 Init(); 3104 Init();
3105 mediastream_signaling_.SendAudioVideoStream1(); 3105 mediastream_signaling_.SendAudioVideoStream1();
3106 CreateAndSetRemoteOfferAndLocalAnswer(); 3106 CreateAndSetRemoteOfferAndLocalAnswer();
3107 cricket::FakeVoiceMediaChannel* channel = media_engine_->GetVoiceChannel(0); 3107 cricket::FakeVoiceMediaChannel* channel = media_engine_->GetVoiceChannel(0);
3108 ASSERT_TRUE(channel != NULL); 3108 ASSERT_TRUE(channel != NULL);
3109 ASSERT_EQ(1u, channel->recv_streams().size()); 3109 ASSERT_EQ(1u, channel->recv_streams().size());
3110 uint32 receive_ssrc = channel->recv_streams()[0].first_ssrc(); 3110 uint32_t receive_ssrc = channel->recv_streams()[0].first_ssrc();
3111 double left_vol, right_vol; 3111 double left_vol, right_vol;
3112 EXPECT_TRUE(channel->GetOutputScaling(receive_ssrc, &left_vol, &right_vol)); 3112 EXPECT_TRUE(channel->GetOutputScaling(receive_ssrc, &left_vol, &right_vol));
3113 EXPECT_EQ(1, left_vol); 3113 EXPECT_EQ(1, left_vol);
3114 EXPECT_EQ(1, right_vol); 3114 EXPECT_EQ(1, right_vol);
3115 rtc::scoped_ptr<FakeAudioRenderer> renderer(new FakeAudioRenderer()); 3115 rtc::scoped_ptr<FakeAudioRenderer> renderer(new FakeAudioRenderer());
3116 session_->SetAudioPlayout(receive_ssrc, false, renderer.get()); 3116 session_->SetAudioPlayout(receive_ssrc, false, renderer.get());
3117 EXPECT_TRUE(channel->GetOutputScaling(receive_ssrc, &left_vol, &right_vol)); 3117 EXPECT_TRUE(channel->GetOutputScaling(receive_ssrc, &left_vol, &right_vol));
3118 EXPECT_EQ(0, left_vol); 3118 EXPECT_EQ(0, left_vol);
3119 EXPECT_EQ(0, right_vol); 3119 EXPECT_EQ(0, right_vol);
3120 EXPECT_EQ(0, renderer->channel_id()); 3120 EXPECT_EQ(0, renderer->channel_id());
3121 session_->SetAudioPlayout(receive_ssrc, true, NULL); 3121 session_->SetAudioPlayout(receive_ssrc, true, NULL);
3122 EXPECT_TRUE(channel->GetOutputScaling(receive_ssrc, &left_vol, &right_vol)); 3122 EXPECT_TRUE(channel->GetOutputScaling(receive_ssrc, &left_vol, &right_vol));
3123 EXPECT_EQ(1, left_vol); 3123 EXPECT_EQ(1, left_vol);
3124 EXPECT_EQ(1, right_vol); 3124 EXPECT_EQ(1, right_vol);
3125 EXPECT_EQ(-1, renderer->channel_id()); 3125 EXPECT_EQ(-1, renderer->channel_id());
3126 } 3126 }
3127 3127
3128 TEST_F(WebRtcSessionTest, SetAudioSend) { 3128 TEST_F(WebRtcSessionTest, SetAudioSend) {
3129 Init(); 3129 Init();
3130 mediastream_signaling_.SendAudioVideoStream1(); 3130 mediastream_signaling_.SendAudioVideoStream1();
3131 CreateAndSetRemoteOfferAndLocalAnswer(); 3131 CreateAndSetRemoteOfferAndLocalAnswer();
3132 cricket::FakeVoiceMediaChannel* channel = media_engine_->GetVoiceChannel(0); 3132 cricket::FakeVoiceMediaChannel* channel = media_engine_->GetVoiceChannel(0);
3133 ASSERT_TRUE(channel != NULL); 3133 ASSERT_TRUE(channel != NULL);
3134 ASSERT_EQ(1u, channel->send_streams().size()); 3134 ASSERT_EQ(1u, channel->send_streams().size());
3135 uint32 send_ssrc = channel->send_streams()[0].first_ssrc(); 3135 uint32_t send_ssrc = channel->send_streams()[0].first_ssrc();
3136 EXPECT_FALSE(channel->IsStreamMuted(send_ssrc)); 3136 EXPECT_FALSE(channel->IsStreamMuted(send_ssrc));
3137 3137
3138 cricket::AudioOptions options; 3138 cricket::AudioOptions options;
3139 options.echo_cancellation.Set(true); 3139 options.echo_cancellation.Set(true);
3140 3140
3141 rtc::scoped_ptr<FakeAudioRenderer> renderer(new FakeAudioRenderer()); 3141 rtc::scoped_ptr<FakeAudioRenderer> renderer(new FakeAudioRenderer());
3142 session_->SetAudioSend(send_ssrc, false, options, renderer.get()); 3142 session_->SetAudioSend(send_ssrc, false, options, renderer.get());
3143 EXPECT_TRUE(channel->IsStreamMuted(send_ssrc)); 3143 EXPECT_TRUE(channel->IsStreamMuted(send_ssrc));
3144 EXPECT_FALSE(channel->options().echo_cancellation.IsSet()); 3144 EXPECT_FALSE(channel->options().echo_cancellation.IsSet());
3145 EXPECT_EQ(0, renderer->channel_id()); 3145 EXPECT_EQ(0, renderer->channel_id());
3146 EXPECT_TRUE(renderer->sink() != NULL); 3146 EXPECT_TRUE(renderer->sink() != NULL);
3147 3147
3148 // This will trigger SetSink(NULL) to the |renderer|. 3148 // This will trigger SetSink(NULL) to the |renderer|.
3149 session_->SetAudioSend(send_ssrc, true, options, NULL); 3149 session_->SetAudioSend(send_ssrc, true, options, NULL);
3150 EXPECT_FALSE(channel->IsStreamMuted(send_ssrc)); 3150 EXPECT_FALSE(channel->IsStreamMuted(send_ssrc));
3151 bool value; 3151 bool value;
3152 EXPECT_TRUE(channel->options().echo_cancellation.Get(&value)); 3152 EXPECT_TRUE(channel->options().echo_cancellation.Get(&value));
3153 EXPECT_TRUE(value); 3153 EXPECT_TRUE(value);
3154 EXPECT_EQ(-1, renderer->channel_id()); 3154 EXPECT_EQ(-1, renderer->channel_id());
3155 EXPECT_TRUE(renderer->sink() == NULL); 3155 EXPECT_TRUE(renderer->sink() == NULL);
3156 } 3156 }
3157 3157
3158 TEST_F(WebRtcSessionTest, AudioRendererForLocalStream) { 3158 TEST_F(WebRtcSessionTest, AudioRendererForLocalStream) {
3159 Init(); 3159 Init();
3160 mediastream_signaling_.SendAudioVideoStream1(); 3160 mediastream_signaling_.SendAudioVideoStream1();
3161 CreateAndSetRemoteOfferAndLocalAnswer(); 3161 CreateAndSetRemoteOfferAndLocalAnswer();
3162 cricket::FakeVoiceMediaChannel* channel = media_engine_->GetVoiceChannel(0); 3162 cricket::FakeVoiceMediaChannel* channel = media_engine_->GetVoiceChannel(0);
3163 ASSERT_TRUE(channel != NULL); 3163 ASSERT_TRUE(channel != NULL);
3164 ASSERT_EQ(1u, channel->send_streams().size()); 3164 ASSERT_EQ(1u, channel->send_streams().size());
3165 uint32 send_ssrc = channel->send_streams()[0].first_ssrc(); 3165 uint32_t send_ssrc = channel->send_streams()[0].first_ssrc();
3166 3166
3167 rtc::scoped_ptr<FakeAudioRenderer> renderer(new FakeAudioRenderer()); 3167 rtc::scoped_ptr<FakeAudioRenderer> renderer(new FakeAudioRenderer());
3168 cricket::AudioOptions options; 3168 cricket::AudioOptions options;
3169 session_->SetAudioSend(send_ssrc, true, options, renderer.get()); 3169 session_->SetAudioSend(send_ssrc, true, options, renderer.get());
3170 EXPECT_TRUE(renderer->sink() != NULL); 3170 EXPECT_TRUE(renderer->sink() != NULL);
3171 3171
3172 // Delete the |renderer| and it will trigger OnClose() to the sink, and this 3172 // Delete the |renderer| and it will trigger OnClose() to the sink, and this
3173 // will invalidate the |renderer_| pointer in the sink and prevent getting a 3173 // will invalidate the |renderer_| pointer in the sink and prevent getting a
3174 // SetSink(NULL) callback afterwards. 3174 // SetSink(NULL) callback afterwards.
3175 renderer.reset(); 3175 renderer.reset();
3176 3176
3177 // This will trigger SetSink(NULL) if no OnClose() callback. 3177 // This will trigger SetSink(NULL) if no OnClose() callback.
3178 session_->SetAudioSend(send_ssrc, true, options, NULL); 3178 session_->SetAudioSend(send_ssrc, true, options, NULL);
3179 } 3179 }
3180 3180
3181 TEST_F(WebRtcSessionTest, SetVideoPlayout) { 3181 TEST_F(WebRtcSessionTest, SetVideoPlayout) {
3182 Init(); 3182 Init();
3183 mediastream_signaling_.SendAudioVideoStream1(); 3183 mediastream_signaling_.SendAudioVideoStream1();
3184 CreateAndSetRemoteOfferAndLocalAnswer(); 3184 CreateAndSetRemoteOfferAndLocalAnswer();
3185 cricket::FakeVideoMediaChannel* channel = media_engine_->GetVideoChannel(0); 3185 cricket::FakeVideoMediaChannel* channel = media_engine_->GetVideoChannel(0);
3186 ASSERT_TRUE(channel != NULL); 3186 ASSERT_TRUE(channel != NULL);
3187 ASSERT_LT(0u, channel->renderers().size()); 3187 ASSERT_LT(0u, channel->renderers().size());
3188 EXPECT_TRUE(channel->renderers().begin()->second == NULL); 3188 EXPECT_TRUE(channel->renderers().begin()->second == NULL);
3189 ASSERT_EQ(1u, channel->recv_streams().size()); 3189 ASSERT_EQ(1u, channel->recv_streams().size());
3190 uint32 receive_ssrc = channel->recv_streams()[0].first_ssrc(); 3190 uint32_t receive_ssrc = channel->recv_streams()[0].first_ssrc();
3191 cricket::FakeVideoRenderer renderer; 3191 cricket::FakeVideoRenderer renderer;
3192 session_->SetVideoPlayout(receive_ssrc, true, &renderer); 3192 session_->SetVideoPlayout(receive_ssrc, true, &renderer);
3193 EXPECT_TRUE(channel->renderers().begin()->second == &renderer); 3193 EXPECT_TRUE(channel->renderers().begin()->second == &renderer);
3194 session_->SetVideoPlayout(receive_ssrc, false, &renderer); 3194 session_->SetVideoPlayout(receive_ssrc, false, &renderer);
3195 EXPECT_TRUE(channel->renderers().begin()->second == NULL); 3195 EXPECT_TRUE(channel->renderers().begin()->second == NULL);
3196 } 3196 }
3197 3197
3198 TEST_F(WebRtcSessionTest, SetVideoSend) { 3198 TEST_F(WebRtcSessionTest, SetVideoSend) {
3199 Init(); 3199 Init();
3200 mediastream_signaling_.SendAudioVideoStream1(); 3200 mediastream_signaling_.SendAudioVideoStream1();
3201 CreateAndSetRemoteOfferAndLocalAnswer(); 3201 CreateAndSetRemoteOfferAndLocalAnswer();
3202 cricket::FakeVideoMediaChannel* channel = media_engine_->GetVideoChannel(0); 3202 cricket::FakeVideoMediaChannel* channel = media_engine_->GetVideoChannel(0);
3203 ASSERT_TRUE(channel != NULL); 3203 ASSERT_TRUE(channel != NULL);
3204 ASSERT_EQ(1u, channel->send_streams().size()); 3204 ASSERT_EQ(1u, channel->send_streams().size());
3205 uint32 send_ssrc = channel->send_streams()[0].first_ssrc(); 3205 uint32_t send_ssrc = channel->send_streams()[0].first_ssrc();
3206 EXPECT_FALSE(channel->IsStreamMuted(send_ssrc)); 3206 EXPECT_FALSE(channel->IsStreamMuted(send_ssrc));
3207 cricket::VideoOptions* options = NULL; 3207 cricket::VideoOptions* options = NULL;
3208 session_->SetVideoSend(send_ssrc, false, options); 3208 session_->SetVideoSend(send_ssrc, false, options);
3209 EXPECT_TRUE(channel->IsStreamMuted(send_ssrc)); 3209 EXPECT_TRUE(channel->IsStreamMuted(send_ssrc));
3210 session_->SetVideoSend(send_ssrc, true, options); 3210 session_->SetVideoSend(send_ssrc, true, options);
3211 EXPECT_FALSE(channel->IsStreamMuted(send_ssrc)); 3211 EXPECT_FALSE(channel->IsStreamMuted(send_ssrc));
3212 } 3212 }
3213 3213
3214 TEST_F(WebRtcSessionTest, CanNotInsertDtmf) { 3214 TEST_F(WebRtcSessionTest, CanNotInsertDtmf) {
3215 TestCanInsertDtmf(false); 3215 TestCanInsertDtmf(false);
(...skipping 13 matching lines...) Expand all
3229 3229
3230 // Insert DTMF 3230 // Insert DTMF
3231 const int expected_flags = DF_SEND; 3231 const int expected_flags = DF_SEND;
3232 const int expected_duration = 90; 3232 const int expected_duration = 90;
3233 session_->InsertDtmf(kAudioTrack1, 0, expected_duration); 3233 session_->InsertDtmf(kAudioTrack1, 0, expected_duration);
3234 session_->InsertDtmf(kAudioTrack1, 1, expected_duration); 3234 session_->InsertDtmf(kAudioTrack1, 1, expected_duration);
3235 session_->InsertDtmf(kAudioTrack1, 2, expected_duration); 3235 session_->InsertDtmf(kAudioTrack1, 2, expected_duration);
3236 3236
3237 // Verify 3237 // Verify
3238 ASSERT_EQ(3U, channel->dtmf_info_queue().size()); 3238 ASSERT_EQ(3U, channel->dtmf_info_queue().size());
3239 const uint32 send_ssrc = channel->send_streams()[0].first_ssrc(); 3239 const uint32_t send_ssrc = channel->send_streams()[0].first_ssrc();
3240 EXPECT_TRUE(CompareDtmfInfo(channel->dtmf_info_queue()[0], send_ssrc, 0, 3240 EXPECT_TRUE(CompareDtmfInfo(channel->dtmf_info_queue()[0], send_ssrc, 0,
3241 expected_duration, expected_flags)); 3241 expected_duration, expected_flags));
3242 EXPECT_TRUE(CompareDtmfInfo(channel->dtmf_info_queue()[1], send_ssrc, 1, 3242 EXPECT_TRUE(CompareDtmfInfo(channel->dtmf_info_queue()[1], send_ssrc, 1,
3243 expected_duration, expected_flags)); 3243 expected_duration, expected_flags));
3244 EXPECT_TRUE(CompareDtmfInfo(channel->dtmf_info_queue()[2], send_ssrc, 2, 3244 EXPECT_TRUE(CompareDtmfInfo(channel->dtmf_info_queue()[2], send_ssrc, 2,
3245 expected_duration, expected_flags)); 3245 expected_duration, expected_flags));
3246 } 3246 }
3247 3247
3248 // This test verifies the |initiator| flag when session initiates the call. 3248 // This test verifies the |initiator| flag when session initiates the call.
3249 TEST_F(WebRtcSessionTest, TestInitiatorFlagAsOriginator) { 3249 TEST_F(WebRtcSessionTest, TestInitiatorFlagAsOriginator) {
(...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after
4033 } 4033 }
4034 4034
4035 // TODO(bemasc): Add a TestIceStatesBundle with BUNDLE enabled. That test 4035 // TODO(bemasc): Add a TestIceStatesBundle with BUNDLE enabled. That test
4036 // currently fails because upon disconnection and reconnection OnIceComplete is 4036 // currently fails because upon disconnection and reconnection OnIceComplete is
4037 // called more than once without returning to IceGatheringGathering. 4037 // called more than once without returning to IceGatheringGathering.
4038 4038
4039 INSTANTIATE_TEST_CASE_P(WebRtcSessionTests, 4039 INSTANTIATE_TEST_CASE_P(WebRtcSessionTests,
4040 WebRtcSessionTest, 4040 WebRtcSessionTest,
4041 testing::Values(ALREADY_GENERATED, 4041 testing::Values(ALREADY_GENERATED,
4042 DTLS_IDENTITY_STORE)); 4042 DTLS_IDENTITY_STORE));
OLDNEW
« no previous file with comments | « talk/app/webrtc/webrtcsession.cc ('k') | talk/app/webrtc/webrtcsessiondescriptionfactory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698