blob: 4b843d78bb246aa875147748b519f1dbcfebd8f6 [file] [log] [blame]
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto2";
package android.stats.mediametrics;
enum StreamType {
STREAM_TYPE_UNKNOWN = 0;
STREAM_TYPE_OTHER = 1;
STREAM_TYPE_PROGRESSIVE = 2;
STREAM_TYPE_DASH = 3;
STREAM_TYPE_HLS = 4;
STREAM_TYPE_SS = 5;
}
enum DrmType {
DRM_TYPE_NONE = 0;
DRM_TYPE_OTHER = 1;
DRM_TYPE_PLAY_READY = 2;
DRM_TYPE_WV_L1 = 3;
DRM_TYPE_WV_L3 = 4;
}
enum PlaybackType {
PLAYBACK_TYPE_UNKNOWN = 0;
PLAYBACK_TYPE_VOD = 1;
PLAYBACK_TYPE_LIVE = 2;
PLAYBACK_TYPE_OTHER = 3;
}
enum ContentType {
CONTENT_TYPE_UNKNOWN = 0;
CONTENT_TYPE_MAIN = 1;
CONTENT_TYPE_AD = 2;
CONTENT_TYPE_OTHER = 3;
}
enum StreamSourceType {
STREAM_SOURCE_UNKNOWN = 0;
STREAM_SOURCE_NETWORK = 1;
STREAM_SOURCE_DEVICE = 2;
STREAM_SOURCE_MIXED = 3;
}
enum NetworkType {
NETWORK_TYPE_UNKNOWN = 0;
NETWORK_TYPE_OTHER = 1;
NETWORK_TYPE_WIFI = 2;
NETWORK_TYPE_ETHERNET = 3;
NETWORK_TYPE_2G = 4;
NETWORK_TYPE_3G = 5;
NETWORK_TYPE_4G = 6;
NETWORK_TYPE_5G_NSA = 7;
NETWORK_TYPE_5G_SA = 8;
NETWORK_TYPE_OFFLINE = 9;
}
enum PlaybackState {
// Playback has not started (initial state)
NOT_STARTED = 0;
// Playback is buffering in the background for initial playback start
JOINING_BACKGROUND = 1;
// Playback is buffering in the foreground for initial playback start
JOINING_FOREGROUND = 2;
// Playback is actively playing
PLAYING = 3;
// Playback is paused but ready to play
PAUSED = 4;
// Playback is handling a seek
SEEKING = 5;
// Playback is buffering to resume active playback
BUFFERING = 6;
// Playback is buffering while paused
PAUSED_BUFFERING = 7;
// Playback is suppressed (e.g. due to audio focus loss)
SUPPRESSED = 8;
// Playback is suppressed (e.g. due to audio focus loss) while buffering to resume a
// playback
SUPPRESSED_BUFFERING = 9;
// Playback has reached the end of the media
ENDED = 10;
// Playback is stopped and can be restarted
STOPPED = 11;
// Playback is stopped due a fatal error and can be retried
FAILED = 12;
// Playback is interrupted by an ad
INTERRUPTED_BY_AD = 13;
// Playback is abandoned before reaching the end of the media
ABANDONED = 14;
}
enum PlaybackErrorCode {
ERROR_CODE_UNKNOWN = 0;
ERROR_CODE_OTHER = 1;
ERROR_CODE_RUNTIME = 2;
ERROR_CODE_NETWORK_OFFLINE = 3;
ERROR_CODE_NETWORK_CONNECT = 4;
ERROR_CODE_NETWORK_BAD_STATUS = 5;
ERROR_CODE_NETWORK_DNS = 6;
ERROR_CODE_NETWORK_TIMEOUT = 7;
ERROR_CODE_NETWORK_CLOSED = 8;
ERROR_CODE_NETWORK_OTHER = 9;
ERROR_CODE_MEDIA_MANIFET = 10;
ERROR_CODE_MEDIA_PARSER = 11;
ERROR_CODE_MEDIA_OTHER = 12;
ERROR_CODE_DECODER_INIT = 13;
ERROR_CODE_DECODER_DECODE = 14;
ERROR_CODE_DECODER_OOM = 15;
ERROR_CODE_DECODER_OTHER = 16;
ERROR_CODE_AUDIOTRACK_INIT = 17;
ERROR_CODE_AUDIOTRACK_WRITE = 18;
ERROR_CODE_AUDIOTRACK_OTHER = 19;
ERROR_CODE_PLAYER_REMOTE = 20;
ERROR_CODE_PLAYER_BEHIND_LIVE_WINDOW = 21;
ERROR_CODE_PLAYER_OTHER = 22;
ERROR_CODE_DRM_UNAVAILABLE = 23;
ERROR_CODE_DRM_PROVISIONING_FAILED = 24;
ERROR_CODE_DRM_LICENSE_ERROR = 25;
ERROR_CODE_DRM_DISALLOWED = 26;
ERROR_CODE_DRM_SYSTEM_ERROR = 27;
ERROR_CODE_DRM_CONTENT_ERROR = 28;
ERROR_CODE_DRM_REVOKED = 39;
ERROR_CODE_DRM_OTHER = 30;
}
enum TrackType {
AUDIO = 0;
VIDEO = 1;
TEXT = 2;
}
enum TrackState {
OFF = 0;
ON = 1;
}
enum TrackChangeReason {
REASON_UNKNOWN = 0;
REASON_OTHER = 1;
REASON_INITIAL = 2;
REASON_MANUAL = 3;
REASON_ADAPTIVE = 4;
}