Move additional state into WebRtcVideoSendStream.

Prevents having two places where codecs etc. are set up and allows us to
avoid creating the underlying VideoSendStream before send codecs are
set up.

BUG=1788
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20939004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6716 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
pbos@webrtc.org
2014-07-17 08:51:46 +00:00
parent 2561d52460
commit 5301b0f1fc
7 changed files with 178 additions and 147 deletions

View File

@@ -159,6 +159,38 @@ TEST(StreamParams, FidFunctions) {
EXPECT_FALSE(sp_invalid.GetFidSsrc(13, &fid_ssrc));
}
TEST(StreamParams, GetPrimaryAndFidSsrcs) {
cricket::StreamParams sp;
sp.ssrcs.push_back(1);
sp.ssrcs.push_back(2);
sp.ssrcs.push_back(3);
std::vector<uint32> primary_ssrcs;
sp.GetPrimarySsrcs(&primary_ssrcs);
std::vector<uint32> fid_ssrcs;
sp.GetFidSsrcs(primary_ssrcs, &fid_ssrcs);
ASSERT_EQ(1u, primary_ssrcs.size());
EXPECT_EQ(1u, primary_ssrcs[0]);
ASSERT_EQ(0u, fid_ssrcs.size());
sp.ssrc_groups.push_back(
cricket::SsrcGroup(cricket::kSimSsrcGroupSemantics, sp.ssrcs));
sp.AddFidSsrc(1, 10);
sp.AddFidSsrc(2, 20);
primary_ssrcs.clear();
sp.GetPrimarySsrcs(&primary_ssrcs);
fid_ssrcs.clear();
sp.GetFidSsrcs(primary_ssrcs, &fid_ssrcs);
ASSERT_EQ(3u, primary_ssrcs.size());
EXPECT_EQ(1u, primary_ssrcs[0]);
EXPECT_EQ(2u, primary_ssrcs[1]);
EXPECT_EQ(3u, primary_ssrcs[2]);
ASSERT_EQ(2u, fid_ssrcs.size());
EXPECT_EQ(10u, fid_ssrcs[0]);
EXPECT_EQ(20u, fid_ssrcs[1]);
}
TEST(StreamParams, ToString) {
cricket::StreamParams sp =
CreateStreamParamsWithSsrcGroup("XYZ", kSsrcs2, ARRAY_SIZE(kSsrcs2));