Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(159)

Unified Diff: media/remoting/triggers.h

Issue 2631993002: Media Remoting: UMAs to track session events and measurements. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/remoting/triggers.h
diff --git a/media/remoting/triggers.h b/media/remoting/triggers.h
new file mode 100644
index 0000000000000000000000000000000000000000..6cd790386a753077c52a29f0e7cef595c2a705de
--- /dev/null
+++ b/media/remoting/triggers.h
@@ -0,0 +1,80 @@
+// 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.
+
+#ifndef MEDIA_REMOTING_TRIGGERS_H_
+#define MEDIA_REMOTING_TRIGGERS_H_
+
+namespace media {
+namespace remoting {
+
+// Events and conditions that can trigger remoting to start.
+//
+// NOTE: Never re-number or re-use numbers for different triggers. These are
+// used in UMA histograms, and must remain backwards-compatible for all time.
+// However, *do* change START_TRIGGER_MAX to one after the greatest value when
+// adding new ones. Also, don't forget to update histograms.xml!
+enum StartTrigger {
+ UNKNOWN_START_TRIGGER = 0,
+
+ // Local presentation changes.
+ ENTERED_FULLSCREEN = 1, // The media element became the fullscreen element.
+ BECAME_DOMINANT_CONTENT = 2, // Element now occupies most of the viewport.
+ ENABLED_BY_PAGE = 3, // The page re-allowed remote playback.
+
+ // User actions, such as connecting to a receiver or pressing play.
+ SINK_AVAILABLE = 4, // A receiver (sink) became available.
+ PLAY_COMMAND = 5, // The media element was issued a play command.
+
+ // Met requirements for playback of the media.
+ SUPPORTED_AUDIO_CODEC = 6, // Stream began using a supported audio codec.
+ SUPPORTED_VIDEO_CODEC = 7, // Stream began using a supported video codec.
+ CDM_READY = 8, // The CDM required for decrypting the content became ready.
+
+ // Change this to the highest value.
+ START_TRIGGER_MAX = 8,
+};
+
+// Events and conditions that can result in a start failure, or trigger remoting
+// to stop.
+//
+// NOTE: Never re-number or re-use numbers for different triggers. These are
+// used in UMA histograms, and must remain backwards-compatible for all time.
+// However, *do* change STOP_TRIGGER_MAX to one after the greatest value when
+// adding new ones. Also, don't forget to update histograms.xml!
+enum StopTrigger {
+ UNKNOWN_STOP_TRIGGER = 0,
+
+ // Normal shutdown triggers.
+ ROUTE_TERMINATED = 1, // The route to the sink was terminated (user action?).
xjz 2017/01/17 05:36:25 remove ?
miu 2017/01/17 21:09:18 I left it in there because commonly it's the user
+ MEDIA_ELEMENT_DESTROYED = 2, // The media element on the page was destroyed.
+ EXITED_FULLSCREEN = 3, // The media element is no longer fullscreened.
+ BECAME_AUXILIARY_CONTENT = 4, // Element no longer occupies the viewport.
+ DISABLED_BY_PAGE = 5, // The web page blocked remoting during a session.
+
+ // Content playback related errors forcing shutdown (or failing start).
+ START_RACE = 6, // Multiple remoting sessions attempted to start.
+ UNSUPPORTED_AUDIO_CODEC = 7, // Stream began using an unsupported codec.
xjz 2017/01/17 05:36:25 nit: s/codec/audio codec
miu 2017/01/17 21:09:18 Done (80 chars is hard).
+ UNSUPPORTED_VIDEO_CODEC = 8, // Stream began using an unsupported codec.
xjz 2017/01/17 05:36:25 nit: s/code/video codec
miu 2017/01/17 21:09:20 Done.
+ DECRYPTION_ERROR = 9, // Could not decrypt content or CDM was destroyed.
+ RECEIVER_INITIALIZE_FAILED = 10, // The receiver reported a failed init.
+ RECEIVER_PIPELINE_ERROR = 11, // The media pipeline on the receiver error'ed.
+
+ // Environmental errors forcing shutdown.
+ FRAME_DROP_RATE_HIGH = 12, // The receiver was dropping too many frames.
+ PACING_TOO_SLOWLY = 13, // Play-out was too slow, indicating bottlenecks.
+
+ // Communications errors forcing shutdown.
+ PEERS_OUT_OF_SYNC = 14, // The local state disagrees with the remote.
+ RPC_INVALID = 15, // An RPC field value is missing or has bad data.
+ DATA_PIPE_CREATE_ERROR = 16, // Mojo data pipe creation failed (OOM?).
xjz 2017/01/17 05:36:25 ooc: Is OOM the only reason for this error?
miu 2017/01/17 21:09:18 No. It could be due to any weird OS issue (or impl
+ MOJO_PIPE_ERROR = 17, // Mojo message/data pipe operation failed.
+
+ // Change this to the highest value.
+ STOP_TRIGGER_MAX = 17,
+};
+
+} // namespace remoting
+} // namespace media
+
+#endif // MEDIA_REMOTING_TRIGGERS_H_

Powered by Google App Engine
This is Rietveld 408576698