mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 00:35:44 +00:00
Bug 1616875: Make this work with gtest. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D64692 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
2eecfe8825
commit
bcd72fe82e
@ -243,8 +243,8 @@ class RtpSourcesTest : public ::testing::Test {
|
||||
|
||||
// Observer a header with a single Csrc
|
||||
void TestObserveOneCsrc() {
|
||||
RtpSourceObserver observer =
|
||||
RtpSourceObserver(dom::RTCStatsTimestampMaker());
|
||||
RefPtr<RtpSourceObserver> observer =
|
||||
new RtpSourceObserver(dom::RTCStatsTimestampMaker());
|
||||
webrtc::RTPHeader header;
|
||||
constexpr unsigned int ssrc = 857265;
|
||||
constexpr unsigned int csrc = 3268365;
|
||||
@ -253,12 +253,12 @@ class RtpSourcesTest : public ::testing::Test {
|
||||
header.ssrc = ssrc;
|
||||
header.numCSRCs = 1;
|
||||
header.arrOfCSRCs[0] = csrc;
|
||||
observer.OnRtpPacket(header, jitter);
|
||||
observer->OnRtpPacket(header, jitter);
|
||||
|
||||
// One for the SSRC, one for the CSRC
|
||||
EXPECT_EQ(observer.mRtpSources.size(), static_cast<size_t>(2));
|
||||
EXPECT_EQ(observer->mRtpSources.size(), static_cast<size_t>(2));
|
||||
nsTArray<dom::RTCRtpSourceEntry> outLevels;
|
||||
observer.GetRtpSources(outLevels);
|
||||
observer->GetRtpSources(outLevels);
|
||||
EXPECT_EQ(outLevels.Length(), static_cast<size_t>(2));
|
||||
bool ssrcFound = false;
|
||||
bool csrcFound = true;
|
||||
@ -279,8 +279,8 @@ class RtpSourcesTest : public ::testing::Test {
|
||||
|
||||
// Observer a header with two CSRCs
|
||||
void TestObserveTwoCsrcs() {
|
||||
RtpSourceObserver observer =
|
||||
RtpSourceObserver(dom::RTCStatsTimestampMaker());
|
||||
RefPtr<RtpSourceObserver> observer =
|
||||
new RtpSourceObserver(dom::RTCStatsTimestampMaker());
|
||||
webrtc::RTPHeader header;
|
||||
constexpr unsigned int ssrc = 239485;
|
||||
constexpr unsigned int csrc0 = 3425;
|
||||
@ -291,12 +291,12 @@ class RtpSourcesTest : public ::testing::Test {
|
||||
header.numCSRCs = 2;
|
||||
header.arrOfCSRCs[0] = csrc0;
|
||||
header.arrOfCSRCs[1] = csrc1;
|
||||
observer.OnRtpPacket(header, jitter);
|
||||
observer->OnRtpPacket(header, jitter);
|
||||
|
||||
// One for the SSRC, two for the CSRCs
|
||||
EXPECT_EQ(observer.mRtpSources.size(), static_cast<size_t>(3));
|
||||
EXPECT_EQ(observer->mRtpSources.size(), static_cast<size_t>(3));
|
||||
nsTArray<dom::RTCRtpSourceEntry> outLevels;
|
||||
observer.GetRtpSources(outLevels);
|
||||
observer->GetRtpSources(outLevels);
|
||||
EXPECT_EQ(outLevels.Length(), static_cast<size_t>(3));
|
||||
bool ssrcFound = false;
|
||||
bool csrc0Found = true;
|
||||
@ -323,8 +323,8 @@ class RtpSourcesTest : public ::testing::Test {
|
||||
|
||||
// Observer a header with a CSRC with audio level extension
|
||||
void TestObserveCsrcWithAudioLevel() {
|
||||
RtpSourceObserver observer =
|
||||
RtpSourceObserver(dom::RTCStatsTimestampMaker());
|
||||
RefPtr<RtpSourceObserver> observer =
|
||||
new RtpSourceObserver(dom::RTCStatsTimestampMaker());
|
||||
webrtc::RTPHeader header;
|
||||
}
|
||||
};
|
||||
|
@ -30,7 +30,7 @@ void RtpSourceObserver::OnRtpPacket(const webrtc::RTPHeader& aHeader,
|
||||
const uint32_t aJitter) {
|
||||
DOMHighResTimeStamp jsNow = mTimestampMaker.GetNow();
|
||||
|
||||
NS_DispatchToMainThread(NS_NewRunnableFunction(
|
||||
RefPtr<Runnable> runnable = NS_NewRunnableFunction(
|
||||
"RtpSourceObserver::OnRtpPacket",
|
||||
[this, self = RefPtr<RtpSourceObserver>(this), aHeader, aJitter,
|
||||
jsNow]() {
|
||||
@ -64,7 +64,15 @@ void RtpSourceObserver::OnRtpPacket(const webrtc::RTPHeader& aHeader,
|
||||
hist.Insert(jsNow, predictedPlayoutTime, aHeader.timestamp, hasLevel,
|
||||
level);
|
||||
}
|
||||
}));
|
||||
});
|
||||
|
||||
if (NS_IsMainThread()) {
|
||||
// Code-path for gtests; everything happens on main, and there's no event
|
||||
// loop.
|
||||
runnable->Run();
|
||||
} else {
|
||||
NS_DispatchToMainThread(runnable);
|
||||
}
|
||||
}
|
||||
|
||||
void RtpSourceObserver::GetRtpSources(
|
||||
|
Loading…
Reference in New Issue
Block a user