123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- // Copyright 2017 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "media/base/watch_time_keys.h"
- #include "base/notreached.h"
- namespace media {
- // TODO(dalecurtis): Key strings aren't really necessary anymore, so instead
- // of hard coding these, switch to generating them.
- // Audio+video watch time metrics.
- static const char kWatchTimeAudioVideoAll[] = "Media.WatchTime.AudioVideo.All";
- static const char kWatchTimeAudioVideoMse[] = "Media.WatchTime.AudioVideo.MSE";
- static const char kWatchTimeAudioVideoEme[] = "Media.WatchTime.AudioVideo.EME";
- static const char kWatchTimeAudioVideoSrc[] = "Media.WatchTime.AudioVideo.SRC";
- static const char kWatchTimeAudioVideoBattery[] =
- "Media.WatchTime.AudioVideo.Battery";
- static const char kWatchTimeAudioVideoAc[] = "Media.WatchTime.AudioVideo.AC";
- static const char kWatchTimeAudioVideoDisplayFullscreen[] =
- "Media.WatchTime.AudioVideo.DisplayFullscreen";
- static const char kWatchTimeAudioVideoDisplayInline[] =
- "Media.WatchTime.AudioVideo.DisplayInline";
- static const char kWatchTimeAudioVideoDisplayPictureInPicture[] =
- "Media.WatchTime.AudioVideo.DisplayPictureInPicture";
- static const char kWatchTimeAudioVideoEmbeddedExperience[] =
- "Media.WatchTime.AudioVideo.EmbeddedExperience";
- static const char kWatchTimeAudioVideoNativeControlsOn[] =
- "Media.WatchTime.AudioVideo.NativeControlsOn";
- static const char kWatchTimeAudioVideoNativeControlsOff[] =
- "Media.WatchTime.AudioVideo.NativeControlsOff";
- // Audio only "watch time" metrics.
- static const char kWatchTimeAudioAll[] = "Media.WatchTime.Audio.All";
- static const char kWatchTimeAudioMse[] = "Media.WatchTime.Audio.MSE";
- static const char kWatchTimeAudioEme[] = "Media.WatchTime.Audio.EME";
- static const char kWatchTimeAudioSrc[] = "Media.WatchTime.Audio.SRC";
- static const char kWatchTimeAudioBattery[] = "Media.WatchTime.Audio.Battery";
- static const char kWatchTimeAudioAc[] = "Media.WatchTime.Audio.AC";
- static const char kWatchTimeAudioEmbeddedExperience[] =
- "Media.WatchTime.Audio.EmbeddedExperience";
- static const char kWatchTimeAudioNativeControlsOn[] =
- "Media.WatchTime.Audio.NativeControlsOn";
- static const char kWatchTimeAudioNativeControlsOff[] =
- "Media.WatchTime.Audio.NativeControlsOff";
- static const char kWatchTimeAudioBackgroundAll[] =
- "Media.WatchTime.Audio.Background.All";
- static const char kWatchTimeAudioBackgroundMse[] =
- "Media.WatchTime.Audio.Background.MSE";
- static const char kWatchTimeAudioBackgroundEme[] =
- "Media.WatchTime.Audio.Background.EME";
- static const char kWatchTimeAudioBackgroundSrc[] =
- "Media.WatchTime.Audio.Background.SRC";
- static const char kWatchTimeAudioBackgroundBattery[] =
- "Media.WatchTime.Audio.Background.Battery";
- static const char kWatchTimeAudioBackgroundAc[] =
- "Media.WatchTime.Audio.Background.AC";
- static const char kWatchTimeAudioBackgroundEmbeddedExperience[] =
- "Media.WatchTime.Audio.Background.EmbeddedExperience";
- // Audio+video background watch time metrics.
- static const char kWatchTimeAudioVideoBackgroundAll[] =
- "Media.WatchTime.AudioVideo.Background.All";
- static const char kWatchTimeAudioVideoBackgroundMse[] =
- "Media.WatchTime.AudioVideo.Background.MSE";
- static const char kWatchTimeAudioVideoBackgroundEme[] =
- "Media.WatchTime.AudioVideo.Background.EME";
- static const char kWatchTimeAudioVideoBackgroundSrc[] =
- "Media.WatchTime.AudioVideo.Background.SRC";
- static const char kWatchTimeAudioVideoBackgroundBattery[] =
- "Media.WatchTime.AudioVideo.Background.Battery";
- static const char kWatchTimeAudioVideoBackgroundAc[] =
- "Media.WatchTime.AudioVideo.Background.AC";
- static const char kWatchTimeAudioVideoBackgroundEmbeddedExperience[] =
- "Media.WatchTime.AudioVideo.Background.EmbeddedExperience";
- // Audio+video muted watch time metrics.
- static const char kWatchTimeAudioVideoMutedAll[] =
- "Media.WatchTime.AudioVideo.Muted.All";
- static const char kWatchTimeAudioVideoMutedMse[] =
- "Media.WatchTime.AudioVideo.Muted.MSE";
- static const char kWatchTimeAudioVideoMutedEme[] =
- "Media.WatchTime.AudioVideo.Muted.EME";
- static const char kWatchTimeAudioVideoMutedSrc[] =
- "Media.WatchTime.AudioVideo.Muted.SRC";
- const char kWatchTimeUnderflowCount[] = "UnderflowCount";
- const char kMeanTimeBetweenRebuffersAudioSrc[] =
- "Media.MeanTimeBetweenRebuffers.Audio.SRC";
- const char kMeanTimeBetweenRebuffersAudioMse[] =
- "Media.MeanTimeBetweenRebuffers.Audio.MSE";
- const char kMeanTimeBetweenRebuffersAudioEme[] =
- "Media.MeanTimeBetweenRebuffers.Audio.EME";
- const char kMeanTimeBetweenRebuffersAudioVideoSrc[] =
- "Media.MeanTimeBetweenRebuffers.AudioVideo.SRC";
- const char kMeanTimeBetweenRebuffersAudioVideoMse[] =
- "Media.MeanTimeBetweenRebuffers.AudioVideo.MSE";
- const char kMeanTimeBetweenRebuffersAudioVideoEme[] =
- "Media.MeanTimeBetweenRebuffers.AudioVideo.EME";
- const char kRebuffersCountAudioSrc[] = "Media.RebuffersCount.Audio.SRC";
- const char kRebuffersCountAudioMse[] = "Media.RebuffersCount.Audio.MSE";
- const char kRebuffersCountAudioEme[] = "Media.RebuffersCount.Audio.EME";
- const char kRebuffersCountAudioVideoSrc[] =
- "Media.RebuffersCount.AudioVideo.SRC";
- const char kRebuffersCountAudioVideoMse[] =
- "Media.RebuffersCount.AudioVideo.MSE";
- const char kRebuffersCountAudioVideoEme[] =
- "Media.RebuffersCount.AudioVideo.EME";
- const char kDiscardedWatchTimeAudioSrc[] =
- "Media.WatchTime.Audio.Discarded.SRC";
- const char kDiscardedWatchTimeAudioMse[] =
- "Media.WatchTime.Audio.Discarded.MSE";
- const char kDiscardedWatchTimeAudioEme[] =
- "Media.WatchTime.Audio.Discarded.EME";
- const char kDiscardedWatchTimeAudioVideoSrc[] =
- "Media.WatchTime.AudioVideo.Discarded.SRC";
- const char kDiscardedWatchTimeAudioVideoMse[] =
- "Media.WatchTime.AudioVideo.Discarded.MSE";
- const char kDiscardedWatchTimeAudioVideoEme[] =
- "Media.WatchTime.AudioVideo.Discarded.EME";
- base::StringPiece ConvertWatchTimeKeyToStringForUma(WatchTimeKey key) {
- // WARNING: Returning a non-empty value will log the key to UMA.
- switch (key) {
- case WatchTimeKey::kAudioAll:
- return kWatchTimeAudioAll;
- case WatchTimeKey::kAudioMse:
- return kWatchTimeAudioMse;
- case WatchTimeKey::kAudioEme:
- return kWatchTimeAudioEme;
- case WatchTimeKey::kAudioSrc:
- return kWatchTimeAudioSrc;
- case WatchTimeKey::kAudioBattery:
- return kWatchTimeAudioBattery;
- case WatchTimeKey::kAudioAc:
- return kWatchTimeAudioAc;
- case WatchTimeKey::kAudioEmbeddedExperience:
- return kWatchTimeAudioEmbeddedExperience;
- case WatchTimeKey::kAudioNativeControlsOn:
- return kWatchTimeAudioNativeControlsOn;
- case WatchTimeKey::kAudioNativeControlsOff:
- return kWatchTimeAudioNativeControlsOff;
- case WatchTimeKey::kAudioBackgroundAll:
- return kWatchTimeAudioBackgroundAll;
- case WatchTimeKey::kAudioBackgroundMse:
- return kWatchTimeAudioBackgroundMse;
- case WatchTimeKey::kAudioBackgroundEme:
- return kWatchTimeAudioBackgroundEme;
- case WatchTimeKey::kAudioBackgroundSrc:
- return kWatchTimeAudioBackgroundSrc;
- case WatchTimeKey::kAudioBackgroundBattery:
- return kWatchTimeAudioBackgroundBattery;
- case WatchTimeKey::kAudioBackgroundAc:
- return kWatchTimeAudioBackgroundAc;
- case WatchTimeKey::kAudioBackgroundEmbeddedExperience:
- return kWatchTimeAudioBackgroundEmbeddedExperience;
- case WatchTimeKey::kAudioVideoAll:
- return kWatchTimeAudioVideoAll;
- case WatchTimeKey::kAudioVideoMse:
- return kWatchTimeAudioVideoMse;
- case WatchTimeKey::kAudioVideoEme:
- return kWatchTimeAudioVideoEme;
- case WatchTimeKey::kAudioVideoSrc:
- return kWatchTimeAudioVideoSrc;
- case WatchTimeKey::kAudioVideoBattery:
- return kWatchTimeAudioVideoBattery;
- case WatchTimeKey::kAudioVideoAc:
- return kWatchTimeAudioVideoAc;
- case WatchTimeKey::kAudioVideoDisplayFullscreen:
- return kWatchTimeAudioVideoDisplayFullscreen;
- case WatchTimeKey::kAudioVideoDisplayInline:
- return kWatchTimeAudioVideoDisplayInline;
- case WatchTimeKey::kAudioVideoDisplayPictureInPicture:
- return kWatchTimeAudioVideoDisplayPictureInPicture;
- case WatchTimeKey::kAudioVideoEmbeddedExperience:
- return kWatchTimeAudioVideoEmbeddedExperience;
- case WatchTimeKey::kAudioVideoNativeControlsOn:
- return kWatchTimeAudioVideoNativeControlsOn;
- case WatchTimeKey::kAudioVideoNativeControlsOff:
- return kWatchTimeAudioVideoNativeControlsOff;
- case WatchTimeKey::kAudioVideoBackgroundAll:
- return kWatchTimeAudioVideoBackgroundAll;
- case WatchTimeKey::kAudioVideoBackgroundMse:
- return kWatchTimeAudioVideoBackgroundMse;
- case WatchTimeKey::kAudioVideoBackgroundEme:
- return kWatchTimeAudioVideoBackgroundEme;
- case WatchTimeKey::kAudioVideoBackgroundSrc:
- return kWatchTimeAudioVideoBackgroundSrc;
- case WatchTimeKey::kAudioVideoBackgroundBattery:
- return kWatchTimeAudioVideoBackgroundBattery;
- case WatchTimeKey::kAudioVideoBackgroundAc:
- return kWatchTimeAudioVideoBackgroundAc;
- case WatchTimeKey::kAudioVideoBackgroundEmbeddedExperience:
- return kWatchTimeAudioVideoBackgroundEmbeddedExperience;
- case WatchTimeKey::kAudioVideoMutedAll:
- return kWatchTimeAudioVideoMutedAll;
- case WatchTimeKey::kAudioVideoMutedMse:
- return kWatchTimeAudioVideoMutedMse;
- case WatchTimeKey::kAudioVideoMutedEme:
- return kWatchTimeAudioVideoMutedEme;
- case WatchTimeKey::kAudioVideoMutedSrc:
- return kWatchTimeAudioVideoMutedSrc;
- // WARNING: Returning a non-empty value will log the key to UMA.
- // The following keys are not reported to UMA and thus have no conversion.
- // We don't report keys to UMA that we don't have a strong use case for
- // since UMA requires us to break out each state manually (ac, inline, etc).
- case WatchTimeKey::kAudioVideoMutedBattery:
- case WatchTimeKey::kAudioVideoMutedAc:
- case WatchTimeKey::kAudioVideoMutedEmbeddedExperience:
- case WatchTimeKey::kAudioVideoMutedDisplayFullscreen:
- case WatchTimeKey::kAudioVideoMutedDisplayInline:
- case WatchTimeKey::kAudioVideoMutedDisplayPictureInPicture:
- case WatchTimeKey::kAudioVideoMutedNativeControlsOn:
- case WatchTimeKey::kAudioVideoMutedNativeControlsOff:
- case WatchTimeKey::kVideoAll:
- case WatchTimeKey::kVideoMse:
- case WatchTimeKey::kVideoEme:
- case WatchTimeKey::kVideoSrc:
- case WatchTimeKey::kVideoBattery:
- case WatchTimeKey::kVideoAc:
- case WatchTimeKey::kVideoDisplayFullscreen:
- case WatchTimeKey::kVideoDisplayInline:
- case WatchTimeKey::kVideoDisplayPictureInPicture:
- case WatchTimeKey::kVideoEmbeddedExperience:
- case WatchTimeKey::kVideoNativeControlsOn:
- case WatchTimeKey::kVideoNativeControlsOff:
- case WatchTimeKey::kVideoBackgroundAll:
- case WatchTimeKey::kVideoBackgroundMse:
- case WatchTimeKey::kVideoBackgroundEme:
- case WatchTimeKey::kVideoBackgroundSrc:
- case WatchTimeKey::kVideoBackgroundBattery:
- case WatchTimeKey::kVideoBackgroundAc:
- case WatchTimeKey::kVideoBackgroundEmbeddedExperience:
- return base::StringPiece();
- };
- NOTREACHED();
- return base::StringPiece();
- }
- } // namespace media
|