Adds support for the "apt" format parameter and turns on the RTX feature.
BUG=1811,1095 R=henrike@webrtc.org, mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/12579009 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6372 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
ed7edb8e89
commit
85d2794e5b
@ -247,6 +247,7 @@ bool PeerConnectionFactory::Initialize_s() {
|
||||
|
||||
channel_manager_.reset(new cricket::ChannelManager(
|
||||
webrtc_media_engine, device_manager, worker_thread_));
|
||||
channel_manager_->SetVideoRtxEnabled(true);
|
||||
if (!channel_manager_->Init()) {
|
||||
return false;
|
||||
}
|
||||
|
@ -71,6 +71,7 @@ using cricket::kCodecParamUseInbandFec;
|
||||
using cricket::kCodecParamSctpProtocol;
|
||||
using cricket::kCodecParamSctpStreams;
|
||||
using cricket::kCodecParamMaxAverageBitrate;
|
||||
using cricket::kCodecParamAssociatedPayloadType;
|
||||
using cricket::kWildcardPayloadType;
|
||||
using cricket::MediaContentDescription;
|
||||
using cricket::MediaType;
|
||||
@ -1512,7 +1513,7 @@ bool IsFmtpParam(const std::string& name) {
|
||||
kCodecParamStereo, kCodecParamUseInbandFec, kCodecParamStartBitrate,
|
||||
kCodecParamMaxBitrate, kCodecParamMinBitrate, kCodecParamMaxQuantization,
|
||||
kCodecParamSctpProtocol, kCodecParamSctpStreams,
|
||||
kCodecParamMaxAverageBitrate
|
||||
kCodecParamMaxAverageBitrate, kCodecParamAssociatedPayloadType
|
||||
};
|
||||
for (size_t i = 0; i < ARRAY_SIZE(kFmtpParams); ++i) {
|
||||
if (_stricmp(name.c_str(), kFmtpParams[i]) == 0) {
|
||||
|
@ -1153,6 +1153,15 @@ class WebRtcSdpTest : public testing::Test {
|
||||
<< "a=maxptime:" << params.max_ptime << "\r\n";
|
||||
sdp += os.str();
|
||||
|
||||
os.clear();
|
||||
os.str("");
|
||||
// Pl type 100 preferred.
|
||||
os << "m=video 1 RTP/SAVPF 99 95\r\n"
|
||||
<< "a=rtpmap:99 VP8/90000\r\n"
|
||||
<< "a=rtpmap:95 RTX/90000\r\n"
|
||||
<< "a=fmtp:95 apt=99;rtx-time=1000\r\n";
|
||||
sdp += os.str();
|
||||
|
||||
// Deserialize
|
||||
SdpParseError error;
|
||||
EXPECT_TRUE(webrtc::SdpDeserialize(sdp, jdesc_output, &error));
|
||||
@ -1183,6 +1192,19 @@ class WebRtcSdpTest : public testing::Test {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const ContentInfo* vc = GetFirstVideoContent(jdesc_output->description());
|
||||
ASSERT_TRUE(vc != NULL);
|
||||
const VideoContentDescription* vcd =
|
||||
static_cast<const VideoContentDescription*>(vc->description);
|
||||
ASSERT_FALSE(vcd->codecs().empty());
|
||||
cricket::VideoCodec vp8 = vcd->codecs()[0];
|
||||
EXPECT_EQ("VP8", vp8.name);
|
||||
EXPECT_EQ(99, vp8.id);
|
||||
cricket::VideoCodec rtx = vcd->codecs()[1];
|
||||
EXPECT_EQ("RTX", rtx.name);
|
||||
EXPECT_EQ(95, rtx.id);
|
||||
VerifyCodecParameter(rtx.params, "apt", vp8.id);
|
||||
}
|
||||
|
||||
void TestDeserializeRtcpFb(JsepSessionDescription* jdesc_output,
|
||||
|
Loading…
x
Reference in New Issue
Block a user