зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1289674 - Don't record video telemetry when there is no video - r=kamidphish
MozReview-Commit-ID: nJniysQfpM --HG-- extra : rebase_source : 4d158a46f233dcefbbfc36a47a29af15be690f21
This commit is contained in:
Родитель
2e27b62687
Коммит
8d5de8656a
|
@ -3099,50 +3099,52 @@ HTMLMediaElement::ReportTelemetry()
|
|||
}
|
||||
}
|
||||
|
||||
double playTime = mPlayTime.Total();
|
||||
double hiddenPlayTime = mHiddenPlayTime.Total();
|
||||
|
||||
Telemetry::Accumulate(Telemetry::VIDEO_PLAY_TIME_MS, SECONDS_TO_MS(playTime));
|
||||
LOG(LogLevel::Debug, ("%p VIDEO_PLAY_TIME_MS = %f", this, playTime));
|
||||
|
||||
Telemetry::Accumulate(Telemetry::VIDEO_HIDDEN_PLAY_TIME_MS, SECONDS_TO_MS(hiddenPlayTime));
|
||||
LOG(LogLevel::Debug, ("%p VIDEO_HIDDEN_PLAY_TIME_MS = %f", this, hiddenPlayTime));
|
||||
|
||||
if (playTime > 0.0 &&
|
||||
mMediaInfo.HasVideo() &&
|
||||
if (mMediaInfo.HasVideo() &&
|
||||
mMediaInfo.mVideo.mImage.height > 0) {
|
||||
// We have actually played some valid video -> Report hidden/total ratio.
|
||||
uint32_t hiddenPercentage = uint32_t(hiddenPlayTime / playTime * 100.0 + 0.5);
|
||||
// We have a valid video.
|
||||
double playTime = mPlayTime.Total();
|
||||
double hiddenPlayTime = mHiddenPlayTime.Total();
|
||||
|
||||
// Keyed by audio+video or video alone, and by a resolution range.
|
||||
nsCString key(mMediaInfo.HasAudio() ? "AV," : "V,");
|
||||
static const struct { int32_t mH; const char* mRes; } sResolutions[] = {
|
||||
{ 240, "0<h<=240" },
|
||||
{ 480, "240<h<=480" },
|
||||
{ 576, "480<h<=576" },
|
||||
{ 720, "576<h<=720" },
|
||||
{ 1080, "720<h<=1080" },
|
||||
{ 2160, "1080<h<=2160" }
|
||||
};
|
||||
const char* resolution = "h>2160";
|
||||
int32_t height = mMediaInfo.mVideo.mImage.height;
|
||||
for (const auto& res : sResolutions) {
|
||||
if (height <= res.mH) {
|
||||
resolution = res.mRes;
|
||||
break;
|
||||
Telemetry::Accumulate(Telemetry::VIDEO_PLAY_TIME_MS, SECONDS_TO_MS(playTime));
|
||||
LOG(LogLevel::Debug, ("%p VIDEO_PLAY_TIME_MS = %f", this, playTime));
|
||||
|
||||
Telemetry::Accumulate(Telemetry::VIDEO_HIDDEN_PLAY_TIME_MS, SECONDS_TO_MS(hiddenPlayTime));
|
||||
LOG(LogLevel::Debug, ("%p VIDEO_HIDDEN_PLAY_TIME_MS = %f", this, hiddenPlayTime));
|
||||
|
||||
if (playTime > 0.0) {
|
||||
// We have actually played something -> Report hidden/total ratio.
|
||||
uint32_t hiddenPercentage = uint32_t(hiddenPlayTime / playTime * 100.0 + 0.5);
|
||||
|
||||
// Keyed by audio+video or video alone, and by a resolution range.
|
||||
nsCString key(mMediaInfo.HasAudio() ? "AV," : "V,");
|
||||
static const struct { int32_t mH; const char* mRes; } sResolutions[] = {
|
||||
{ 240, "0<h<=240" },
|
||||
{ 480, "240<h<=480" },
|
||||
{ 576, "480<h<=576" },
|
||||
{ 720, "576<h<=720" },
|
||||
{ 1080, "720<h<=1080" },
|
||||
{ 2160, "1080<h<=2160" }
|
||||
};
|
||||
const char* resolution = "h>2160";
|
||||
int32_t height = mMediaInfo.mVideo.mImage.height;
|
||||
for (const auto& res : sResolutions) {
|
||||
if (height <= res.mH) {
|
||||
resolution = res.mRes;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
key.AppendASCII(resolution);
|
||||
key.AppendASCII(resolution);
|
||||
|
||||
Telemetry::Accumulate(Telemetry::VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE,
|
||||
key,
|
||||
hiddenPercentage);
|
||||
// Also accumulate all percentages in an "All" key.
|
||||
Telemetry::Accumulate(Telemetry::VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE,
|
||||
NS_LITERAL_CSTRING("All"),
|
||||
hiddenPercentage);
|
||||
LOG(LogLevel::Debug, ("%p VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE = %u, keys: '%s' and 'All'",
|
||||
this, hiddenPercentage, key.get()));
|
||||
Telemetry::Accumulate(Telemetry::VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE,
|
||||
key,
|
||||
hiddenPercentage);
|
||||
// Also accumulate all percentages in an "All" key.
|
||||
Telemetry::Accumulate(Telemetry::VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE,
|
||||
NS_LITERAL_CSTRING("All"),
|
||||
hiddenPercentage);
|
||||
LOG(LogLevel::Debug, ("%p VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE = %u, keys: '%s' and 'All'",
|
||||
this, hiddenPercentage, key.get()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче