- 16 Jan, 2020 11 commits
-
-
PiperOrigin-RevId: 289859343
olly committed -
This optimization allows a ChunkSampleStream to output track formats as soon as they're parsed during an InitializationChunk load, rather than waiting until after the InitializationChunk load is completed. In DASH VOD, a single InitializationChunk typically loads the moov and sidx atoms in that order. Hence for long form content where the sidx is a non-trivial size, this may result in the track formats being output a non-negligible period of time sooner than was previously the case. This allows downstream renderers to start codec initialization sooner, potentially decreasing startup latency. For a single test stream on a fast & stable network, this pretty consistently reduced elapsed time until both audio and video codecs have been initialized from ~0.5s to ~0.3 seconds on a Galaxy S8. For 5 test runs without and with these patches, the eventTime logged by EventLogger for the second decoder init were: Without (secs): 0.47 0.47 0.45 0.48 0.46 With (secs) : 0.32 0.33 0.34 0.31 0.40 PiperOrigin-RevId: 289845089
olly committed -
The current order of operations means that the Format is only passed to the chunk's output after the DataSource has been opened. This means that establishing the network connection and the downstream renderers initializing their codecs are effectively serialized to occur one after the other. In the new order, the Format is passed to the chunk's output before the DataSource has been opened. This allows the downstream renderers to initialize their codecs in parallel with the network connection being established, and hence latency at the start of playback is reduced. PiperOrigin-RevId: 289841854
olly committed -
PiperOrigin-RevId: 289838473
olly committed -
PiperOrigin-RevId: 289829592
samrobinson committed -
PiperOrigin-RevId: 289823804
olly committed -
Issue: #6870 PiperOrigin-RevId: 289658261
olly committed -
PiperOrigin-RevId: 289658098
olly committed -
PiperOrigin-RevId: 289521837
andrewlewis committed -
PiperOrigin-RevId: 289494365
olly committed -
PiperOrigin-RevId: 289490708
olly committed
-
- 13 Jan, 2020 7 commits
-
-
We currently have a currentMediaPeriodId and an activeSessionId that are more or less tracking the same thing unless the current media period isn't "active" yet. Simplify this logic by using a single currentSessionId field and the respective isActive flag of this session. Also move all session creation and activation code in the same method to make it easier to reason about the code. This change also fixes a subtle bug where events after a seek to a new window are not ignored as they should. PiperOrigin-RevId: 289432181
tonihei committed -
Issue: #6798 PiperOrigin-RevId: 289424582
olly committed -
PiperOrigin-RevId: 289424321
tonihei committed -
As discovered whilst investigating #6798, there are cases where these methods are not correctly. They were added as convenience methods that could be overridden by concrete DownloadService implementations, but since they don't work properly it's preferable to require application code to listen to their DownloadManager directly instead. Notes: - The original proposal to fix #6798 stored the state change events in memory until they could be delivered. This approach is not ideal because the events still end up being delivered later than they should be. We also want to fix the root cause in a different way that does not require doing this. - This change does not fix #6798. It's a preparatory step. Issue: #6798 PiperOrigin-RevId: 289418555
olly committed -
This change makes it clear the SampleQueue doesn't outlive the wrapping PlayerTrackEmsgHandler, and releases it from PlayerTrackEmsgHandler.release(). This change is a no-op because calling release() is the same as reset() in this case (the behavior only differs if a non-dummy DrmSessionManager is being used). PiperOrigin-RevId: 289416622
olly committed -
As a result, onMediaChunkLoadStarted gets invoked on the loading thread, and init on the playback thread, matching the thread access comments. Issue:#6321 PiperOrigin-RevId: 289167981
aquilescanta committed -
Dash live streams require that the client has an accurate wall clock time and in absence of a UTCTiming element, this is assumed to be the NTP time. This change adds NTP time offset resolution for DASH live streams without such timing elements. PiperOrigin-RevId: 289098796
tonihei committed
-
- 10 Jan, 2020 16 commits
-
-
PiperOrigin-RevId: 289092332
Oliver Woodman committed -
I'll use this in TtmlDecoderTest PiperOrigin-RevId: 289091526
ibaker committed -
PiperOrigin-RevId: 289091494
olly committed -
Suggested during the review of <unknown commit> PiperOrigin-RevId: 289088296
ibaker committed -
PiperOrigin-RevId: 289054937
olly committed -
Unfortunately devices such as the MI 8 do not provide an alternative working decoder. Some Vivo devices do provide one though. PiperOrigin-RevId: 288911897
olly committed -
PiperOrigin-RevId: 288886739
andrewlewis committed -
Some members are nullable but were not marked as such. PiperOrigin-RevId: 288873481
krocard committed -
PiperOrigin-RevId: 288868298
christosts committed -
Also fix annotation style of the surrounding functions. PiperOrigin-RevId: 288865420
krocard committed -
PiperOrigin-RevId: 288862795
ibaker committed -
I'm going to use these in TtmlDecoderTest PiperOrigin-RevId: 288862274
ibaker committed -
Ultimately we only care if the style is both bold & italic, if some of those are specified multiple times there's no problem. PiperOrigin-RevId: 288862235
ibaker committed -
PiperOrigin-RevId: 288860159
olly committed -
PiperOrigin-RevId: 288855515
andrewlewis committed -
ybai001 committed
-
- 09 Jan, 2020 3 commits
-
-
Update cleardatasize[0] in extractor rather than sampleDataQueue.
ybai001 committed -
ybai001 committed
-
https://github.com/google/ExoPlayerybai001 committed
-
- 08 Jan, 2020 3 commits
-
-
PiperOrigin-RevId: 288772277
Oliver Woodman committed -
This improves readability by making clearer that reading no bytes from the input in readFrames() is an expected case if the buffer is full. PiperOrigin-RevId: 288711841
kimvde committed -
This doesn't work because the Chronometer text layout can only count in realtime. Issue:#6816 PiperOrigin-RevId: 288711702
tonihei committed
-