- 04 Feb, 2019 2 commits
-
-
Now DownloadManager is responsible for starting and stopping DownloadThreads. PiperOrigin-RevId: 232278072
eguven committed -
PiperOrigin-RevId: 231801562
aquilescanta committed
-
- 31 Jan, 2019 4 commits
-
-
PiperOrigin-RevId: 231772920
andrewlewis committed -
PiperOrigin-RevId: 231764284
aquilescanta committed -
Issue: #4468 PiperOrigin-RevId: 231759438
olly committed -
PiperOrigin-RevId: 231744540
olly committed
-
- 30 Jan, 2019 7 commits
-
-
PiperOrigin-RevId: 231644908
olly committed -
Including ParametersBuilder and TrackSelectionOverride. PiperOrigin-RevId: 231609249
aquilescanta committed -
PiperOrigin-RevId: 231600104
olly committed -
PiperOrigin-RevId: 231586206
eguven committed -
PiperOrigin-RevId: 231578828
andrewlewis committed -
PiperOrigin-RevId: 231567138
aquilescanta committed -
PiperOrigin-RevId: 231425073
olly committed
-
- 29 Jan, 2019 27 commits
-
-
If there is data after the last samples in the container, we may request continue loading after the last samples have been read but before the load has completed. In this situation the buffered position is returned as Long.MAX_VALUE, which prevents continuing loading, yet the media period is not treated as fully buffered because its buffered position is not C.TIME_END_OF_SOURCE. PiperOrigin-RevId: 231406964
andrewlewis committed -
We can keep the reading media period and continue playing if we haven't read beyond the new duration. Otherwise, we can keep the period, but need to reset the renderers as we already read too far. PiperOrigin-RevId: 231406252
tonihei committed -
PiperOrigin-RevId: 231396213
olly committed -
On older API levels it's also necessary to implement openOrCreateDatabase, to be called by SQLiteOpenHelper. PiperOrigin-RevId: 231387559
olly committed -
It better describes what the class does. More importantly, we've had inconsistent class names since we added offline support, for which we added ProgressiveDownloader ("ExtractorDownloader" doesn't make any sense). We could really do with aligning the names for clarity. (Sorry) PiperOrigin-RevId: 231387268olly committed -
Issue:#2867 PiperOrigin-RevId: 231385677
tonihei committed -
These methods take a list of languages to be downloaded and add selections for each of the languages. PiperOrigin-RevId: 231385632
tonihei committed -
The subclasses only call specific constructor combinations and can easily replaced by static methods. PiperOrigin-RevId: 231385606
tonihei committed -
This requires to prepare the media source and the periods in a small helper similar to the metadata retriever. It also gets rid of the need to have abstract protected methods to load the manifest, to extract the track groups and to convert to stream keys, as this can now be handled by the media period. PiperOrigin-RevId: 231385590
tonihei committed -
PiperOrigin-RevId: 231385563
tonihei committed -
Currently, we remove all variants if none of the stream keys contains any variants. This causes HlsMediaPeriod to throw exceptions as it expects at least one variant. Change it to support master playlists without variants. PiperOrigin-RevId: 231385547
tonihei committed -
PiperOrigin-RevId: 231385518
tonihei committed -
Converting a single track selection to stream keys is only possible if the output is independent from other track selections being made. This is not the case for DASH and HLS embedded track groups which should select the already selected primary track if possible (and thus needs to know whether a primary track group is selected). Also, update the test method to take a period index. PiperOrigin-RevId: 231385490
tonihei committed -
This should be removed after releasing. PiperOrigin-RevId: 231380393
tonihei committed -
The way it is currently, it's very unclear that an operation on the version table will correctly belong to a transaction in code such as this, taken from DefaultDownloadIndex: writableDatabase.beginTransaction(); try { writableDatabase.execSQL(...); versionTable.setVersion(...); writableDatabase.setTransactionSuccessful(); } finally { writableDatabase.endTransaction(); } This change explicitly passes the database, to make it obvious that the operation will really go into the same transaction: writableDatabase.beginTransaction(); try { writableDatabase.execSQL(....); VersionTable.setVersion(writableDatabase, ...); writableDatabase.setTransactionSuccessful(); } finally { writableDatabase.endTransaction(); } PiperOrigin-RevId: 231374933olly committed -
PiperOrigin-RevId: 231223201
eguven committed -
Goal: reduce binary size. PiperOrigin-RevId: 231198579
olly committed -
Float output is only possible from API 21, but the high-res int to float conversion path was checking for 32-bit PCM not float output capability. PiperOrigin-RevId: 231172495
andrewlewis committed -
PiperOrigin-RevId: 231171425
olly committed -
PiperOrigin-RevId: 230889470
olly committed -
This will allow CachedContentIndex to start using database storage without us having to change the SimpleCache and CachedContentIndex constructors to require a Context or a DatabaseProvider. PiperOrigin-RevId: 230884501
olly committed -
This brings in a memory leak fix. Issue: #4114 PiperOrigin-RevId: 230880521
andrewlewis committed -
If are allowing changing durations of periods, we shouldn't use the end position of clipped content as part of the id as it may change. This change moves the end position back to MediaPeriodInfo and adds the next ad group index to the id instead to ensure we still have unique ids for all content parts. PiperOrigin-RevId: 230878389
tonihei committed -
PiperOrigin-RevId: 230743198
aquilescanta committed -
PiperOrigin-RevId: 230734189
aquilescanta committed -
PiperOrigin-RevId: 230717561
aquilescanta committed -
The combination of pre-16 API levels accounting for ~0.5% of the device population, and that the most important components in ExoPlayer (e.g. the MediaCodec renderers) have always required API level 16, mean it's very unlikely this will negatively impact on anyone. PiperOrigin-RevId: 230701808
olly committed
-