1*30877f79SAndroid Build Coastguard Worker--- 2*30877f79SAndroid Build Coastguard Workertitle: Glossary 3*30877f79SAndroid Build Coastguard Worker--- 4*30877f79SAndroid Build Coastguard Worker 5*30877f79SAndroid Build Coastguard Worker## General - Media ## 6*30877f79SAndroid Build Coastguard Worker 7*30877f79SAndroid Build Coastguard Worker###### ABR 8*30877f79SAndroid Build Coastguard Worker 9*30877f79SAndroid Build Coastguard WorkerAdaptive Bitrate. An ABR algorithm is an algorithm that selects between a number 10*30877f79SAndroid Build Coastguard Workerof [tracks](#track) during playback, where each track presents the same media 11*30877f79SAndroid Build Coastguard Workerbut at different bitrates. 12*30877f79SAndroid Build Coastguard Worker 13*30877f79SAndroid Build Coastguard Worker###### Adaptive streaming 14*30877f79SAndroid Build Coastguard Worker 15*30877f79SAndroid Build Coastguard WorkerIn adaptive streaming, multiple [tracks](#track) are available that present the 16*30877f79SAndroid Build Coastguard Workersame media at different bitrates. The selected track is chosen dynamically 17*30877f79SAndroid Build Coastguard Workerduring playback using an [ABR](#abr) algorithm. 18*30877f79SAndroid Build Coastguard Worker 19*30877f79SAndroid Build Coastguard Worker###### Access unit 20*30877f79SAndroid Build Coastguard Worker 21*30877f79SAndroid Build Coastguard WorkerA data item within a media [container](#container). Generally refers to a small 22*30877f79SAndroid Build Coastguard Workerpiece of the compressed media bitstream that can be decoded and presented to the 23*30877f79SAndroid Build Coastguard Workeruser (a video picture or fragment of playable audio). 24*30877f79SAndroid Build Coastguard Worker 25*30877f79SAndroid Build Coastguard Worker###### AV1 26*30877f79SAndroid Build Coastguard Worker 27*30877f79SAndroid Build Coastguard WorkerAOMedia Video 1 [codec](#codec). 28*30877f79SAndroid Build Coastguard Worker 29*30877f79SAndroid Build Coastguard WorkerFor more information, see the 30*30877f79SAndroid Build Coastguard Worker[Wikipedia page](https://en.wikipedia.org/wiki/AV1). 31*30877f79SAndroid Build Coastguard Worker 32*30877f79SAndroid Build Coastguard Worker###### AVC 33*30877f79SAndroid Build Coastguard Worker 34*30877f79SAndroid Build Coastguard WorkerAdvanced Video Coding, also known as the H.264 video [codec](#codec). 35*30877f79SAndroid Build Coastguard Worker 36*30877f79SAndroid Build Coastguard WorkerFor more information, see the 37*30877f79SAndroid Build Coastguard Worker[Wikipedia page](https://en.wikipedia.org/wiki/Advanced_Video_Coding). 38*30877f79SAndroid Build Coastguard Worker 39*30877f79SAndroid Build Coastguard Worker###### Codec 40*30877f79SAndroid Build Coastguard Worker 41*30877f79SAndroid Build Coastguard WorkerThis term is overloaded and has multiple meanings depending on the context. The 42*30877f79SAndroid Build Coastguard Workertwo following definitions are the most commonly used: 43*30877f79SAndroid Build Coastguard Worker 44*30877f79SAndroid Build Coastguard Worker* Hardware or software component for encoding or decoding 45*30877f79SAndroid Build Coastguard Worker [access units](#access-unit). 46*30877f79SAndroid Build Coastguard Worker* Audio or video sample format specification. 47*30877f79SAndroid Build Coastguard Worker 48*30877f79SAndroid Build Coastguard Worker###### Container 49*30877f79SAndroid Build Coastguard Worker 50*30877f79SAndroid Build Coastguard WorkerA media container format such as MP4 and Matroska. Such formats are called 51*30877f79SAndroid Build Coastguard Workercontainer formats because they contain one or more [tracks](#track) of media, 52*30877f79SAndroid Build Coastguard Workerwhere each track uses a particular [codec](#codec) (e.g. AAC audio and H.264 53*30877f79SAndroid Build Coastguard Workervideo in an MP4 file). Note that some media formats are both a container format 54*30877f79SAndroid Build Coastguard Workerand a codec (e.g. MP3). 55*30877f79SAndroid Build Coastguard Worker 56*30877f79SAndroid Build Coastguard Worker###### DASH 57*30877f79SAndroid Build Coastguard Worker 58*30877f79SAndroid Build Coastguard WorkerDynamic [Adaptive Streaming](#adaptive-streaming) over HTTP. An industry driven 59*30877f79SAndroid Build Coastguard Workeradaptive streaming protocol. It is defined by ISO/IEC 23009, which can be found 60*30877f79SAndroid Build Coastguard Workeron the 61*30877f79SAndroid Build Coastguard Worker[ISO Publicly Available Standards page](https://standards.iso.org/ittf/PubliclyAvailableStandards/). 62*30877f79SAndroid Build Coastguard Worker 63*30877f79SAndroid Build Coastguard Worker###### DRM 64*30877f79SAndroid Build Coastguard Worker 65*30877f79SAndroid Build Coastguard WorkerDigital Rights Management. 66*30877f79SAndroid Build Coastguard Worker 67*30877f79SAndroid Build Coastguard WorkerFor more information, see the 68*30877f79SAndroid Build Coastguard Worker[Wikipedia page](https://en.wikipedia.org/wiki/Digital_rights_management). 69*30877f79SAndroid Build Coastguard Worker 70*30877f79SAndroid Build Coastguard Worker###### Gapless playback 71*30877f79SAndroid Build Coastguard Worker 72*30877f79SAndroid Build Coastguard WorkerProcess by which the end of a [track](#track) and/or the beginning of the next 73*30877f79SAndroid Build Coastguard Workertrack are skipped to avoid a silent gap between tracks. 74*30877f79SAndroid Build Coastguard Worker 75*30877f79SAndroid Build Coastguard WorkerFor more information, see the 76*30877f79SAndroid Build Coastguard Worker[Wikipedia page](https://en.wikipedia.org/wiki/Gapless_playback). 77*30877f79SAndroid Build Coastguard Worker 78*30877f79SAndroid Build Coastguard Worker###### HEVC 79*30877f79SAndroid Build Coastguard Worker 80*30877f79SAndroid Build Coastguard WorkerHigh Efficiency Video Coding, also known as the H.265 video [codec](#codec). 81*30877f79SAndroid Build Coastguard Worker 82*30877f79SAndroid Build Coastguard Worker###### HLS 83*30877f79SAndroid Build Coastguard Worker 84*30877f79SAndroid Build Coastguard WorkerHTTP Live Streaming. Apple’s [adaptive streaming](#adaptive-streaming) protocol. 85*30877f79SAndroid Build Coastguard Worker 86*30877f79SAndroid Build Coastguard WorkerFor more information, see the 87*30877f79SAndroid Build Coastguard Worker[Apple documentation](https://developer.apple.com/streaming/). 88*30877f79SAndroid Build Coastguard Worker 89*30877f79SAndroid Build Coastguard Worker###### Manifest 90*30877f79SAndroid Build Coastguard Worker 91*30877f79SAndroid Build Coastguard WorkerA file that defines the structure and location of media in 92*30877f79SAndroid Build Coastguard Worker[adaptive streaming](#adaptive-streaming) protocols. Examples include 93*30877f79SAndroid Build Coastguard Worker[DASH](#dash) [MPD](#mpd) files, [HLS](#hls) multivariant playlist files and 94*30877f79SAndroid Build Coastguard Worker[Smooth Streaming](#smooth-streaming) manifest files. Not to be confused with an 95*30877f79SAndroid Build Coastguard WorkerAndroidManifest XML file. 96*30877f79SAndroid Build Coastguard Worker 97*30877f79SAndroid Build Coastguard Worker###### MPD 98*30877f79SAndroid Build Coastguard Worker 99*30877f79SAndroid Build Coastguard WorkerMedia Presentation Description. The [manifest](#manifest) file format used in 100*30877f79SAndroid Build Coastguard Workerthe [DASH](#dash) [adaptive streaming](#adaptive-streaming) protocol. 101*30877f79SAndroid Build Coastguard Worker 102*30877f79SAndroid Build Coastguard Worker###### PCM 103*30877f79SAndroid Build Coastguard Worker 104*30877f79SAndroid Build Coastguard WorkerPulse-Code Modulation. 105*30877f79SAndroid Build Coastguard Worker 106*30877f79SAndroid Build Coastguard WorkerFor more information, see the 107*30877f79SAndroid Build Coastguard Worker[Wikipedia page](https://en.wikipedia.org/wiki/Pulse-code_modulation). 108*30877f79SAndroid Build Coastguard Worker 109*30877f79SAndroid Build Coastguard Worker###### Smooth Streaming 110*30877f79SAndroid Build Coastguard Worker 111*30877f79SAndroid Build Coastguard WorkerMicrosoft’s [adaptive streaming](#adaptive-streaming) protocol. 112*30877f79SAndroid Build Coastguard Worker 113*30877f79SAndroid Build Coastguard WorkerFor more information, see the 114*30877f79SAndroid Build Coastguard Worker[Microsoft documentation](https://www.iis.net/downloads/microsoft/smooth-streaming). 115*30877f79SAndroid Build Coastguard Worker 116*30877f79SAndroid Build Coastguard Worker###### Track 117*30877f79SAndroid Build Coastguard Worker 118*30877f79SAndroid Build Coastguard WorkerA single audio, video, text or metadata stream within a piece of media. A media 119*30877f79SAndroid Build Coastguard Workerfile will often contain multiple tracks. For example a video track and an audio 120*30877f79SAndroid Build Coastguard Workertrack in a video file, or multiple audio tracks in different languages. In 121*30877f79SAndroid Build Coastguard Worker[adaptive streaming](#adaptive-streaming) there are also multiple tracks 122*30877f79SAndroid Build Coastguard Workercontaining the same content at different bitrates. 123*30877f79SAndroid Build Coastguard Worker 124*30877f79SAndroid Build Coastguard Worker## General - Android ## 125*30877f79SAndroid Build Coastguard Worker 126*30877f79SAndroid Build Coastguard Worker###### AudioTrack 127*30877f79SAndroid Build Coastguard Worker 128*30877f79SAndroid Build Coastguard WorkerAn Android API for playing audio. 129*30877f79SAndroid Build Coastguard Worker 130*30877f79SAndroid Build Coastguard WorkerFor more information, see the 131*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.android_sdk }}/android/media/AudioTrack). 132*30877f79SAndroid Build Coastguard Worker 133*30877f79SAndroid Build Coastguard Worker###### CDM 134*30877f79SAndroid Build Coastguard Worker 135*30877f79SAndroid Build Coastguard WorkerContent Decryption Module. A component in the Android platform responsible for 136*30877f79SAndroid Build Coastguard Workerdecrypting [DRM](#drm) protected content. CDMs are accessed via Android’s 137*30877f79SAndroid Build Coastguard Worker[`MediaDrm`](#mediadrm) API. 138*30877f79SAndroid Build Coastguard Worker 139*30877f79SAndroid Build Coastguard WorkerFor more information, see the 140*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.android_sdk }}/android/media/MediaDrm). 141*30877f79SAndroid Build Coastguard Worker 142*30877f79SAndroid Build Coastguard Worker###### IMA 143*30877f79SAndroid Build Coastguard Worker 144*30877f79SAndroid Build Coastguard WorkerInteractive Media Ads. IMA is an SDK that makes it easy to integrate multimedia 145*30877f79SAndroid Build Coastguard Workerads into an app. 146*30877f79SAndroid Build Coastguard Worker 147*30877f79SAndroid Build Coastguard WorkerFor more information, see the 148*30877f79SAndroid Build Coastguard Worker[IMA documentation](https://developers.google.com/interactive-media-ads). 149*30877f79SAndroid Build Coastguard Worker 150*30877f79SAndroid Build Coastguard Worker###### MediaCodec 151*30877f79SAndroid Build Coastguard Worker 152*30877f79SAndroid Build Coastguard WorkerAn Android API for accessing media [codecs](#codec) (i.e. encoder and decoder 153*30877f79SAndroid Build Coastguard Workercomponents) in the platform. 154*30877f79SAndroid Build Coastguard Worker 155*30877f79SAndroid Build Coastguard WorkerFor more information, see the 156*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.android_sdk }}/android/media/MediaCodec). 157*30877f79SAndroid Build Coastguard Worker 158*30877f79SAndroid Build Coastguard Worker###### MediaDrm 159*30877f79SAndroid Build Coastguard Worker 160*30877f79SAndroid Build Coastguard WorkerAn Android API for accessing [CDMs](#cdm) in the platform. 161*30877f79SAndroid Build Coastguard Worker 162*30877f79SAndroid Build Coastguard WorkerFor more information, see the 163*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.android_sdk }}/android/media/MediaDrm). 164*30877f79SAndroid Build Coastguard Worker 165*30877f79SAndroid Build Coastguard Worker###### Audio offload 166*30877f79SAndroid Build Coastguard Worker 167*30877f79SAndroid Build Coastguard WorkerThe ability to send compressed audio directly to a digital signal processor 168*30877f79SAndroid Build Coastguard Worker(DSP) provided by the device. Audio offload functionality is useful for low 169*30877f79SAndroid Build Coastguard Workerpower audio playback. 170*30877f79SAndroid Build Coastguard Worker 171*30877f79SAndroid Build Coastguard WorkerFor more information, see the 172*30877f79SAndroid Build Coastguard Worker[Android interaction documentation](https://source.android.com/devices/tv/multimedia-tunneling). 173*30877f79SAndroid Build Coastguard Worker 174*30877f79SAndroid Build Coastguard Worker###### Passthrough 175*30877f79SAndroid Build Coastguard Worker 176*30877f79SAndroid Build Coastguard WorkerThe ability to send compressed audio directly over HDMI, without decoding it 177*30877f79SAndroid Build Coastguard Workerfirst. This is for example used to play 5.1 surround sound on an Android TV. 178*30877f79SAndroid Build Coastguard Worker 179*30877f79SAndroid Build Coastguard WorkerFor more information, see the 180*30877f79SAndroid Build Coastguard Worker[Android interaction documentation](https://source.android.com/devices/tv/multimedia-tunneling). 181*30877f79SAndroid Build Coastguard Worker 182*30877f79SAndroid Build Coastguard Worker###### Surface 183*30877f79SAndroid Build Coastguard Worker 184*30877f79SAndroid Build Coastguard WorkerSee the [Javadoc]({{ site.android_sdk }}/android/view/Surface) 185*30877f79SAndroid Build Coastguard Workerand the 186*30877f79SAndroid Build Coastguard Worker[Android graphics documentation](https://source.android.com/devices/graphics/arch-sh). 187*30877f79SAndroid Build Coastguard Worker 188*30877f79SAndroid Build Coastguard Worker###### Tunneling 189*30877f79SAndroid Build Coastguard Worker 190*30877f79SAndroid Build Coastguard WorkerProcess by which the Android framework receives compressed video and either 191*30877f79SAndroid Build Coastguard Workercompressed or [PCM](#pcm) audio data and assumes the responsibility for 192*30877f79SAndroid Build Coastguard Workerdecoding, synchronizing and rendering it, taking over some tasks usually handled 193*30877f79SAndroid Build Coastguard Workerby the application. Tunneling may improve audio-to-video (AV) synchronization, 194*30877f79SAndroid Build Coastguard Workermay smooth video playback and can reduce the load on the application processor. 195*30877f79SAndroid Build Coastguard WorkerIt is mostly used on Android TVs. 196*30877f79SAndroid Build Coastguard Worker 197*30877f79SAndroid Build Coastguard WorkerFor more information, see the 198*30877f79SAndroid Build Coastguard Worker[Android interaction documentation](https://source.android.com/devices/tv/multimedia-tunneling) 199*30877f79SAndroid Build Coastguard Workerand the 200*30877f79SAndroid Build Coastguard Worker[ExoPlayer article](https://medium.com/google-exoplayer/tunneled-video-playback-in-exoplayer-84f084a8094d). 201*30877f79SAndroid Build Coastguard Worker 202*30877f79SAndroid Build Coastguard Worker## ExoPlayer ## 203*30877f79SAndroid Build Coastguard Worker 204*30877f79SAndroid Build Coastguard Worker{% include figure.html url="/images/glossary-exoplayer-architecture.png" index="1" caption="ExoPlayer architecture overview" %} 205*30877f79SAndroid Build Coastguard Worker 206*30877f79SAndroid Build Coastguard Worker{% include figure.html url="/images/glossary-rendering-architecture.png" index="1" caption="ExoPlayer rendering overview" %} 207*30877f79SAndroid Build Coastguard Worker 208*30877f79SAndroid Build Coastguard Worker###### BandwidthMeter 209*30877f79SAndroid Build Coastguard Worker 210*30877f79SAndroid Build Coastguard WorkerComponent that estimates the network bandwidth, for example by listening to data 211*30877f79SAndroid Build Coastguard Workertransfers. In [adaptive streaming](#adaptive-streaming), bandwidth estimates can 212*30877f79SAndroid Build Coastguard Workerbe used to select between different bitrate [tracks](#track) during playback. 213*30877f79SAndroid Build Coastguard Worker 214*30877f79SAndroid Build Coastguard WorkerFor more information, see the component 215*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.exo_sdk }}/upstream/BandwidthMeter.html). 216*30877f79SAndroid Build Coastguard Worker 217*30877f79SAndroid Build Coastguard Worker###### DataSource 218*30877f79SAndroid Build Coastguard Worker 219*30877f79SAndroid Build Coastguard WorkerComponent for requesting data (e.g. over HTTP, from a local file, etc). 220*30877f79SAndroid Build Coastguard Worker 221*30877f79SAndroid Build Coastguard WorkerFor more information, see the component 222*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.exo_sdk }}/upstream/DataSource.html). 223*30877f79SAndroid Build Coastguard Worker 224*30877f79SAndroid Build Coastguard Worker###### Extractor 225*30877f79SAndroid Build Coastguard Worker 226*30877f79SAndroid Build Coastguard WorkerComponent that parses a media [container](#container) format, outputting 227*30877f79SAndroid Build Coastguard Worker[track](#track) information and individual [access units](#access-unit) 228*30877f79SAndroid Build Coastguard Workerbelonging to each track suitable for consumption by a decoder. 229*30877f79SAndroid Build Coastguard Worker 230*30877f79SAndroid Build Coastguard WorkerFor more information, see the component 231*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.exo_sdk }}/extractor/Extractor.html). 232*30877f79SAndroid Build Coastguard Worker 233*30877f79SAndroid Build Coastguard Worker###### LoadControl 234*30877f79SAndroid Build Coastguard Worker 235*30877f79SAndroid Build Coastguard WorkerComponent that decides when to start and stop loading, and when to start 236*30877f79SAndroid Build Coastguard Workerplayback. 237*30877f79SAndroid Build Coastguard Worker 238*30877f79SAndroid Build Coastguard WorkerFor more information, see the component 239*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.exo_sdk }}/LoadControl.html). 240*30877f79SAndroid Build Coastguard Worker 241*30877f79SAndroid Build Coastguard Worker###### MediaSource 242*30877f79SAndroid Build Coastguard Worker 243*30877f79SAndroid Build Coastguard WorkerProvides high-level information about the structure of media (as a 244*30877f79SAndroid Build Coastguard Worker[`Timeline`](#timeline)) and creates [`MediaPeriod`](#mediaperiod) instances 245*30877f79SAndroid Build Coastguard Worker(corresponding to periods of the `Timeline`) for playback. 246*30877f79SAndroid Build Coastguard Worker 247*30877f79SAndroid Build Coastguard WorkerFor more information, see the component 248*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.exo_sdk }}/source/MediaSource.html). 249*30877f79SAndroid Build Coastguard Worker 250*30877f79SAndroid Build Coastguard Worker###### MediaPeriod 251*30877f79SAndroid Build Coastguard Worker 252*30877f79SAndroid Build Coastguard WorkerLoads a single piece of media (e.g. audio file, ad, content interleaved between 253*30877f79SAndroid Build Coastguard Workertwo ads, etc.), and allows the loaded media to be read (typically by 254*30877f79SAndroid Build Coastguard Worker[`Renderers`](#renderer)). The decisions about which [tracks](#track) within the 255*30877f79SAndroid Build Coastguard Workermedia are loaded and when loading starts and stops are made by the 256*30877f79SAndroid Build Coastguard Worker[`TrackSelector`](#trackselector) and the [`LoadControl`](#loadcontrol) 257*30877f79SAndroid Build Coastguard Workerrespectively. 258*30877f79SAndroid Build Coastguard Worker 259*30877f79SAndroid Build Coastguard WorkerFor more information, see the component 260*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.exo_sdk }}/source/MediaPeriod.html). 261*30877f79SAndroid Build Coastguard Worker 262*30877f79SAndroid Build Coastguard Worker###### Renderer 263*30877f79SAndroid Build Coastguard Worker 264*30877f79SAndroid Build Coastguard WorkerComponent that reads, decodes and renders media samples. [`Surface`](#surface) 265*30877f79SAndroid Build Coastguard Workerand [`AudioTrack`](#audiotrack) are the standard Android platform components to 266*30877f79SAndroid Build Coastguard Workerwhich video and audio data are rendered. 267*30877f79SAndroid Build Coastguard Worker 268*30877f79SAndroid Build Coastguard WorkerFor more information, see the component 269*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.exo_sdk }}/Renderer.html). 270*30877f79SAndroid Build Coastguard Worker 271*30877f79SAndroid Build Coastguard Worker###### Timeline 272*30877f79SAndroid Build Coastguard Worker 273*30877f79SAndroid Build Coastguard WorkerRepresents the structure of media, from simple cases like a single media file 274*30877f79SAndroid Build Coastguard Workerthrough to complex compositions of media such as playlists and streams with 275*30877f79SAndroid Build Coastguard Workerinserted ads. 276*30877f79SAndroid Build Coastguard Worker 277*30877f79SAndroid Build Coastguard WorkerFor more information, see the component 278*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.exo_sdk }}/Timeline.html). 279*30877f79SAndroid Build Coastguard Worker 280*30877f79SAndroid Build Coastguard Worker###### TrackGroup 281*30877f79SAndroid Build Coastguard Worker 282*30877f79SAndroid Build Coastguard WorkerGroup containing one or more representations of the same video, audio or text 283*30877f79SAndroid Build Coastguard Workercontent, normally at different bitrates for 284*30877f79SAndroid Build Coastguard Worker[adaptive streaming](#adaptive-streaming). 285*30877f79SAndroid Build Coastguard Worker 286*30877f79SAndroid Build Coastguard WorkerFor more information, see the component 287*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.exo_sdk }}/source/TrackGroup.html). 288*30877f79SAndroid Build Coastguard Worker 289*30877f79SAndroid Build Coastguard Worker###### TrackSelection 290*30877f79SAndroid Build Coastguard Worker 291*30877f79SAndroid Build Coastguard WorkerA selection consisting of a static subset of [tracks](#track) from a 292*30877f79SAndroid Build Coastguard Worker[`TrackGroup`](#trackgroup), and a possibly varying selected track from the 293*30877f79SAndroid Build Coastguard Workersubset. For [adaptive streaming](#adaptive-streaming), the `TrackSelection` is 294*30877f79SAndroid Build Coastguard Workerresponsible for selecting the appropriate track whenever a new media chunk 295*30877f79SAndroid Build Coastguard Workerstarts being loaded. 296*30877f79SAndroid Build Coastguard Worker 297*30877f79SAndroid Build Coastguard WorkerFor more information, see the component 298*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.exo_sdk }}/trackselection/TrackSelection.html). 299*30877f79SAndroid Build Coastguard Worker 300*30877f79SAndroid Build Coastguard Worker###### TrackSelector 301*30877f79SAndroid Build Coastguard Worker 302*30877f79SAndroid Build Coastguard WorkerSelects [tracks](#track) for playback. Given track information for the 303*30877f79SAndroid Build Coastguard Worker[`MediaPeriod`](#mediaperiod) to be played, along with the capabilities of the 304*30877f79SAndroid Build Coastguard Workerplayer’s [`Renderers`](#renderer), a `TrackSelector` will generate a 305*30877f79SAndroid Build Coastguard Worker[`TrackSelection`](#trackselection) for each `Renderer`. 306*30877f79SAndroid Build Coastguard Worker 307*30877f79SAndroid Build Coastguard WorkerFor more information, see the component 308*30877f79SAndroid Build Coastguard Worker[Javadoc]({{ site.exo_sdk }}/trackselection/TrackSelector.html). 309