Add optional stereo codec to SDP negotiation
- Defines stereo codec case, similar to RTX, that adds stereo codec to the SDP negotiation. The underlying codec's payload type is similarly defined by "apt". - If this negotiation is successful, codec name is included in sdp line via "acn". - Adds codec setting initializers for these specific stereo cases. - Introduces new Stereo*Factory classes as optional convenience wrappers that inserts stereo codec to the existing set of supported codecs on demand. This CL is the step 5 for adding alpha channel support over the wire in webrtc. Design Doc: https://goo.gl/sFeSUT Bug: webrtc:7671 Change-Id: Ie12c56c8fcf7934e216135d73af33adec5248f76 Reviewed-on: https://webrtc-review.googlesource.com/22901 Commit-Queue: Niklas Enbom <niklas.enbom@webrtc.org> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org> Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21210}
This commit is contained in:

committed by
Commit Bot

parent
654320666d
commit
0a37547033
@ -79,6 +79,7 @@ class VideoCodecInitializerTest : public ::testing::Test {
|
||||
webrtc::VideoEncoderConfig::Vp8EncoderSpecificSettings>(vp8_settings);
|
||||
settings_.payload_name = kVp8PayloadName;
|
||||
settings_.payload_type = kVp8PayloadType;
|
||||
} else if (type == VideoCodecType::kVideoCodecStereo) {
|
||||
} else {
|
||||
ADD_FAILURE() << "Unexpected codec type: " << type;
|
||||
}
|
||||
@ -93,7 +94,8 @@ class VideoCodecInitializerTest : public ::testing::Test {
|
||||
&bitrate_allocator_out_)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (codec_out_.codecType == VideoCodecType::kVideoCodecStereo)
|
||||
return true;
|
||||
// Make sure temporal layers instances have been created.
|
||||
if (codec_out_.codecType == VideoCodecType::kVideoCodecVP8) {
|
||||
if (!codec_out_.VP8()->tl_factory)
|
||||
@ -215,4 +217,10 @@ TEST_F(VideoCodecInitializerTest, HighFpsSimlucastVp8Screenshare) {
|
||||
bitrate_allocation.GetBitrate(1, 1));
|
||||
}
|
||||
|
||||
TEST_F(VideoCodecInitializerTest, SingleStreamStereoCodec) {
|
||||
SetUpFor(VideoCodecType::kVideoCodecStereo, 1, 1, true);
|
||||
streams_.push_back(DefaultStream());
|
||||
EXPECT_TRUE(InitializeCodec());
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
Reference in New Issue
Block a user