| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 // Create and initialize two ACMs, one for each side of a one-to-one call. | 164 // Create and initialize two ACMs, one for each side of a one-to-one call. |
| 165 ASSERT_TRUE((acm_a_.get() != NULL) && (acm_b_.get() != NULL)); | 165 ASSERT_TRUE((acm_a_.get() != NULL) && (acm_b_.get() != NULL)); |
| 166 EXPECT_EQ(0, acm_a_->InitializeReceiver()); | 166 EXPECT_EQ(0, acm_a_->InitializeReceiver()); |
| 167 EXPECT_EQ(0, acm_b_->InitializeReceiver()); | 167 EXPECT_EQ(0, acm_b_->InitializeReceiver()); |
| 168 | 168 |
| 169 // Register all available codes as receiving codecs. | 169 // Register all available codes as receiving codecs. |
| 170 uint8_t num_encoders = acm_a_->NumberOfCodecs(); | 170 uint8_t num_encoders = acm_a_->NumberOfCodecs(); |
| 171 CodecInst my_codec_param; | 171 CodecInst my_codec_param; |
| 172 for (uint8_t n = 0; n < num_encoders; n++) { | 172 for (uint8_t n = 0; n < num_encoders; n++) { |
| 173 EXPECT_EQ(0, acm_b_->Codec(n, &my_codec_param)); | 173 EXPECT_EQ(0, acm_b_->Codec(n, &my_codec_param)); |
| 174 EXPECT_EQ(0, acm_b_->RegisterReceiveCodec(my_codec_param)); | 174 EXPECT_EQ(true, acm_b_->RegisterReceiveCodec( |
| 175 my_codec_param.pltype, CodecInstToSdp(my_codec_param))); |
| 175 } | 176 } |
| 176 | 177 |
| 177 // Test that unregister all receive codecs works. | 178 // Test that unregister all receive codecs works. |
| 178 for (uint8_t n = 0; n < num_encoders; n++) { | 179 for (uint8_t n = 0; n < num_encoders; n++) { |
| 179 EXPECT_EQ(0, acm_b_->Codec(n, &my_codec_param)); | 180 EXPECT_EQ(0, acm_b_->Codec(n, &my_codec_param)); |
| 180 EXPECT_EQ(0, acm_b_->UnregisterReceiveCodec(my_codec_param.pltype)); | 181 EXPECT_EQ(0, acm_b_->UnregisterReceiveCodec(my_codec_param.pltype)); |
| 181 } | 182 } |
| 182 | 183 |
| 183 // Register all available codes as receiving codecs once more. | 184 // Register all available codes as receiving codecs once more. |
| 184 for (uint8_t n = 0; n < num_encoders; n++) { | 185 for (uint8_t n = 0; n < num_encoders; n++) { |
| 185 EXPECT_EQ(0, acm_b_->Codec(n, &my_codec_param)); | 186 EXPECT_EQ(0, acm_b_->Codec(n, &my_codec_param)); |
| 186 EXPECT_EQ(0, acm_b_->RegisterReceiveCodec(my_codec_param)); | 187 EXPECT_EQ(true, acm_b_->RegisterReceiveCodec( |
| 188 my_codec_param.pltype, CodecInstToSdp(my_codec_param))); |
| 187 } | 189 } |
| 188 | 190 |
| 189 // Create and connect the channel. | 191 // Create and connect the channel. |
| 190 channel_a2b_ = new TestPackStereo; | 192 channel_a2b_ = new TestPackStereo; |
| 191 EXPECT_EQ(0, acm_a_->RegisterTransportCallback(channel_a2b_)); | 193 EXPECT_EQ(0, acm_a_->RegisterTransportCallback(channel_a2b_)); |
| 192 channel_a2b_->RegisterReceiverACM(acm_b_.get()); | 194 channel_a2b_->RegisterReceiverACM(acm_b_.get()); |
| 193 | 195 |
| 194 // Start with setting VAD/DTX, before we know we will send stereo. | 196 // Start with setting VAD/DTX, before we know we will send stereo. |
| 195 // Continue with setting a stereo codec as send codec and verify that | 197 // Continue with setting a stereo codec as send codec and verify that |
| 196 // VAD/DTX gets turned off. | 198 // VAD/DTX gets turned off. |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 590 test_cntr_++; | 592 test_cntr_++; |
| 591 OpenOutFile(test_cntr_); | 593 OpenOutFile(test_cntr_); |
| 592 // Encode and decode in mono. | 594 // Encode and decode in mono. |
| 593 RegisterSendCodec('A', codec_opus, 48000, 32000, 960, codec_channels, | 595 RegisterSendCodec('A', codec_opus, 48000, 32000, 960, codec_channels, |
| 594 opus_pltype_); | 596 opus_pltype_); |
| 595 CodecInst opus_codec_param; | 597 CodecInst opus_codec_param; |
| 596 for (uint8_t n = 0; n < num_encoders; n++) { | 598 for (uint8_t n = 0; n < num_encoders; n++) { |
| 597 EXPECT_EQ(0, acm_b_->Codec(n, &opus_codec_param)); | 599 EXPECT_EQ(0, acm_b_->Codec(n, &opus_codec_param)); |
| 598 if (!strcmp(opus_codec_param.plname, "opus")) { | 600 if (!strcmp(opus_codec_param.plname, "opus")) { |
| 599 opus_codec_param.channels = 1; | 601 opus_codec_param.channels = 1; |
| 600 EXPECT_EQ(0, acm_b_->RegisterReceiveCodec(opus_codec_param)); | 602 EXPECT_EQ(true, |
| 603 acm_b_->RegisterReceiveCodec(opus_codec_param.pltype, |
| 604 CodecInstToSdp(opus_codec_param))); |
| 601 break; | 605 break; |
| 602 } | 606 } |
| 603 } | 607 } |
| 604 Run(channel_a2b_, audio_channels, codec_channels); | 608 Run(channel_a2b_, audio_channels, codec_channels); |
| 605 | 609 |
| 606 // Encode in stereo, decode in mono. | 610 // Encode in stereo, decode in mono. |
| 607 RegisterSendCodec('A', codec_opus, 48000, 32000, 960, 2, opus_pltype_); | 611 RegisterSendCodec('A', codec_opus, 48000, 32000, 960, 2, opus_pltype_); |
| 608 Run(channel_a2b_, audio_channels, codec_channels); | 612 Run(channel_a2b_, audio_channels, codec_channels); |
| 609 | 613 |
| 610 out_file_.Close(); | 614 out_file_.Close(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 623 out_file_.Close(); | 627 out_file_.Close(); |
| 624 // Decode in stereo. | 628 // Decode in stereo. |
| 625 test_cntr_++; | 629 test_cntr_++; |
| 626 OpenOutFile(test_cntr_); | 630 OpenOutFile(test_cntr_); |
| 627 if (test_mode_ != 0) { | 631 if (test_mode_ != 0) { |
| 628 // Print out codec and settings | 632 // Print out codec and settings |
| 629 printf("Test number: %d\nCodec: Opus Freq: 48000 Rate :32000 PackSize: 960" | 633 printf("Test number: %d\nCodec: Opus Freq: 48000 Rate :32000 PackSize: 960" |
| 630 " Decode: stereo\n", test_cntr_); | 634 " Decode: stereo\n", test_cntr_); |
| 631 } | 635 } |
| 632 opus_codec_param.channels = 2; | 636 opus_codec_param.channels = 2; |
| 633 EXPECT_EQ(0, acm_b_->RegisterReceiveCodec(opus_codec_param)); | 637 EXPECT_EQ(true, |
| 638 acm_b_->RegisterReceiveCodec(opus_codec_param.pltype, |
| 639 CodecInstToSdp(opus_codec_param))); |
| 634 Run(channel_a2b_, audio_channels, 2); | 640 Run(channel_a2b_, audio_channels, 2); |
| 635 out_file_.Close(); | 641 out_file_.Close(); |
| 636 // Decode in mono. | 642 // Decode in mono. |
| 637 test_cntr_++; | 643 test_cntr_++; |
| 638 OpenOutFile(test_cntr_); | 644 OpenOutFile(test_cntr_); |
| 639 if (test_mode_ != 0) { | 645 if (test_mode_ != 0) { |
| 640 // Print out codec and settings | 646 // Print out codec and settings |
| 641 printf("Test number: %d\nCodec: Opus Freq: 48000 Rate :32000 PackSize: 960" | 647 printf("Test number: %d\nCodec: Opus Freq: 48000 Rate :32000 PackSize: 960" |
| 642 " Decode: mono\n", test_cntr_); | 648 " Decode: mono\n", test_cntr_); |
| 643 } | 649 } |
| 644 opus_codec_param.channels = 1; | 650 opus_codec_param.channels = 1; |
| 645 EXPECT_EQ(0, acm_b_->RegisterReceiveCodec(opus_codec_param)); | 651 EXPECT_EQ(true, |
| 652 acm_b_->RegisterReceiveCodec(opus_codec_param.pltype, |
| 653 CodecInstToSdp(opus_codec_param))); |
| 646 Run(channel_a2b_, audio_channels, codec_channels); | 654 Run(channel_a2b_, audio_channels, codec_channels); |
| 647 out_file_.Close(); | 655 out_file_.Close(); |
| 648 | 656 |
| 649 #endif | 657 #endif |
| 650 | 658 |
| 651 // Print out which codecs were tested, and which were not, in the run. | 659 // Print out which codecs were tested, and which were not, in the run. |
| 652 if (test_mode_ != 0) { | 660 if (test_mode_ != 0) { |
| 653 printf("\nThe following codecs was INCLUDED in the test:\n"); | 661 printf("\nThe following codecs was INCLUDED in the test:\n"); |
| 654 #ifdef WEBRTC_CODEC_G722 | 662 #ifdef WEBRTC_CODEC_G722 |
| 655 printf(" G.722\n"); | 663 printf(" G.722\n"); |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 837 printf("%s -> ", send_codec->plname); | 845 printf("%s -> ", send_codec->plname); |
| 838 } | 846 } |
| 839 CodecInst receive_codec; | 847 CodecInst receive_codec; |
| 840 acm_b_->ReceiveCodec(&receive_codec); | 848 acm_b_->ReceiveCodec(&receive_codec); |
| 841 if (test_mode_ != 0) { | 849 if (test_mode_ != 0) { |
| 842 printf("%s\n", receive_codec.plname); | 850 printf("%s\n", receive_codec.plname); |
| 843 } | 851 } |
| 844 } | 852 } |
| 845 | 853 |
| 846 } // namespace webrtc | 854 } // namespace webrtc |
| OLD | NEW |