- 29 Jan, 2019 36 commits
-
-
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 -
This interface will get an SQLite implementation in a subsequent CL PiperOrigin-RevId: 230693881
olly committed -
We need to support serialization to/from an SQLite table. The model of passing something around for each class to write into doesn't work well for SQL, and it would be messy to have two different structural designs for serialization. This change centralizes the logic in CachedContentIndex, where a centralized SQL based version can more easily sit alongside it. PiperOrigin-RevId: 230692291
olly committed -
This method is a generalization of the existing hasReadStreamToEnd. It is useful to determine whether a renderer already read beyond a new duration of a period. PiperOrigin-RevId: 230689165
tonihei committed -
Necessary in two scenarios: + When the demo app starts casting to a receiver app that already had a queue. + When two demo apps are connected to the same receiver app and both make modifications. PiperOrigin-RevId: 230546851
aquilescanta committed -
1. The method kept track of the current period index to check if the next period is still in the correct period. This is unneccessary since we no longer use the period index but the actual uid in MediaPeriodId and mismatches are already detected by canKeepMediaPeriodHolder. 2. We updated the MediaPeriodIndfo twice: once in getFollowingMediaPeriodInfo and once in getUpdatedMediaPeriodInfo. That's confusing and difficult to follow. The only difference is that getUpdatedMediaPeriodInfo keeps the content position while getFollowingMediaPeriodInfo resets it. This is made more explicit for readability. 3. The durations compatibility check for all following periods was broken as it compared the same durations (partly due to the confusion caused by 2.) PiperOrigin-RevId: 230519295
tonihei committed -
Issue: #4253 PiperOrigin-RevId: 230497544
olly committed -
PiperOrigin-RevId: 230496581
aquilescanta committed -
Seems like more useful default behaviour PiperOrigin-RevId: 230356813
olly committed -
PiperOrigin-RevId: 230260266
olly committed -
This doesn't happen automatically after all on older devices PiperOrigin-RevId: 230251258
olly committed -
PiperOrigin-RevId: 230220448
olly committed
-
- 21 Jan, 2019 4 commits
-
-
ExoPlaybackExceptions of type SOURCE are always associated with the loading period and thus we can use the event time for the loading period in onPlayerError. Renderer and unexpected exceptions are still associated with the currently playing period. Issue:#5407 PiperOrigin-RevId: 230216253
tonihei committed -
PiperOrigin-RevId: 230213842
andrewlewis committed -
PiperOrigin-RevId: 230209898
olly committed -
The Amlogic awesome decoder reduces the video size of interlaced videos by half if the internal configuration isn't force reset with new maximum input size values. The product of these new values must exceed 1920x1088 to force the reset. Issue:#5003 PiperOrigin-RevId: 230206675
tonihei committed
-