xref: /aosp_15_r20/external/exoplayer/tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/docs/glossary.md (revision 30877f796caf59d855b10b687a5d6b3918d765cb)
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