| /* |
| * Copyright (C) 2015 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 com.android.tv.tuner.data; |
| |
| import "track.proto"; |
| |
| option java_package = "com.android.tv.tuner.data"; |
| option java_outer_classname = "Channel"; |
| |
| // Holds information about a channel used in the tuners. |
| message TunerChannelProto { |
| optional TunerType type = 1; |
| optional string short_name = 2; |
| optional string long_name = 3; |
| optional int32 frequency = 4; |
| optional string modulation = 5; |
| optional string filepath = 6; |
| optional int32 program_number = 7; |
| optional int32 virtual_major = 8; |
| optional int32 virtual_minor = 9; |
| optional int64 channel_id = 10; |
| optional string description = 11; |
| optional int32 tsid = 12; |
| optional int32 video_pid = 13; |
| optional VideoStreamType video_stream_type = 14; |
| optional int32 pcr_pid = 15; |
| repeated AtscAudioTrack audio_tracks = 16; |
| repeated int32 audio_pids = 17; |
| repeated AudioStreamType audio_stream_types = 18; |
| optional int32 audio_track_index = 19; |
| repeated AtscCaptionTrack caption_tracks = 20; |
| optional bool has_caption_track = 21; |
| optional AtscServiceType service_type = 22 |
| [default = SERVICE_TYPE_ATSC_DIGITAL_TELEVISION]; |
| optional bool recording_prohibited = 23; |
| optional string video_format = 24; |
| /** |
| * The flag indicating whether this TV channel is locked or not. |
| * This is primarily used for alternative parental control to prevent |
| * unauthorized users from watching the current channel regardless of the |
| * content rating |
| * @see <a |
| * href="https://developer.android.com/reference/android/media/tv/TvContract.Channels.html#COLUMN_LOCKED">link</a> |
| */ |
| optional bool locked = 25; |
| optional DeliverySystemType delivery_system_type = 26; |
| } |
| |
| // Enum describing the types of tuner. |
| enum TunerType { |
| TYPE_TUNER = 0; |
| TYPE_FILE = 1; |
| TYPE_NETWORK = 2; |
| } |
| |
| // Enum describing the types of video stream. |
| enum VideoStreamType { |
| // Default unset value. The spec says 0 is reserved. |
| UNSET = 0x00; |
| // DEPRECATED: previously used as default or unset value |
| INVALID_STREAMTYPE = -1 [deprecated=true]; |
| // ISO/IEC 11172 Video (MPEG-1) |
| MPEG1 = 0x01; |
| // ISO/IEC 13818-2 (MPEG-2) Video |
| MPEG2 = 0x02; |
| // ISO/IEC 14496-2 (MPEG-4 H.263 based) |
| H263 = 0x10; |
| // ISO/IE 14496-10 (H.264 video) |
| H264 = 0x01b; |
| // ISO/IE 23008-2 (H.265 video) |
| H265 = 0x024; |
| } |
| |
| // Enum describing the types of audio stream. |
| enum AudioStreamType { |
| // ISO/IEC 11172 Audio (MPEG-1) |
| MPEG1AUDIO = 0x03; |
| // ISO/IEC 13818-3 Audio (MPEG-2) |
| MPEG2AUDIO = 0x04; |
| // ISO/IEC 13818-7 Audio with ADTS transport syntax |
| MPEG2AACAUDIO = 0x0f; |
| // ISO/IEC 14496-3 (MPEG-4 LOAS multi-format framed audio) |
| MPEG4LATMAACAUDIO = 0x11; |
| // Dolby Digital Audio (ATSC) |
| A52AC3AUDIO = 0x81; |
| // Dolby Digital Plus Audio (ATSC)ISO/IEC 14496-2Video (MPEG-1) |
| EAC3AUDIO = 0x87; |
| } |
| |
| // Enum describing ATSC service types |
| // See ATSC Code Points Registry. |
| enum AtscServiceType { |
| SERVICE_TYPE_ATSC_RESERVED = 0x0; |
| SERVICE_TYPE_ANALOG_TELEVISION_CHANNELS = 0x1; |
| SERVICE_TYPE_ATSC_DIGITAL_TELEVISION = 0x2; |
| SERVICE_TYPE_ATSC_AUDIO = 0x3; |
| SERVICE_TYPE_ATSC_DATA_ONLY_SERVICE = 0x4; |
| SERVICE_TYPE_SOFTWARE_DOWNLOAD = 0x5; |
| SERVICE_TYPE_UNASSOCIATED_SMALL_SCREEN_SERVICE = 0x6; |
| SERVICE_TYPE_PARAMETERIZED_SERVICE = 0x7; |
| SERVICE_TYPE_ATSC_NRT_SERVICE = 0x8; |
| SERVICE_TYPE_EXTENDED_PARAMERTERIZED_SERVICE = 0x9; |
| } |
| |
| // Enum describing the types of delivery system. |
| enum DeliverySystemType { |
| // Do not reorder. Must match Tuner.java |
| DELIVERY_SYSTEM_UNDEFINED = 0; |
| DELIVERY_SYSTEM_ATSC = 1; |
| DELIVERY_SYSTEM_DVBC = 2; |
| DELIVERY_SYSTEM_DVBS = 3; |
| DELIVERY_SYSTEM_DVBS2 = 4; |
| DELIVERY_SYSTEM_DVBT = 5; |
| DELIVERY_SYSTEM_DVBT2 = 6; |
| } |