- 18 Feb, 2020 2 commits
- 13 Feb, 2020 7 commits
-
-
PiperOrigin-RevId: 294503035
olly committed -
r2.11.2
Oliver Woodman committed -
Oliver Woodman committed
-
PiperOrigin-RevId: 294193213
aquilescanta committed -
Demonstrates rendering to a GLSurfaceView while applying a GL shader. Issue: #6920 PiperOrigin-RevId: 293551724
andrewlewis committed -
Issue: #6951 PiperOrigin-RevId: 294187695
aquilescanta committed -
This check is not needed because the FLAC specification does not restrict the sample rate value and because the extension reads files with other sample rates properly. PiperOrigin-RevId: 292909391
kimvde committed
-
- 03 Feb, 2020 2 commits
-
-
This condition is trying to detect when it might be necessary to switch from a non-secure to a secure codec. This is not possible if the DRM session is unchanged, unless a different codec is required for some other reason (e.g., H264 -> H265), which is anyway handled by canKeepCodec below. PiperOrigin-RevId: 292909126
olly committed -
Issue: #6903 PiperOrigin-RevId: 292884280
olly committed
-
- 01 Feb, 2020 6 commits
-
-
PiperOrigin-RevId: 292542298
olly committed -
Issue: #6938 PiperOrigin-RevId: 292415853
bachinger committed -
PiperOrigin-RevId: 292347360
andrewlewis committed -
Passing EXT-X-KEY DrmInitData through the FragmentedMp4Extractor doesn't work for streams with key rotation, because an extractor instance is used for multiple segments, but is only passed the EXT-X-KEY DrmInitData corresponding to the first segment. This change removes passing DrmInitData through the extractor, and instead passes it via FormatAdjustingSampleQueue. This is in-line with how manifest DrmInitData is handled during DASH playbacks. Issue: #6903 PiperOrigin-RevId: 292323429
olly committed -
This is a nice-regardless improvement to SampleQueue, which will likely to used to fix the referenced issue. It makes it possible for SampleQueue subclasses to support dynamic changes to format adjustment in a non-hacky way. Issue: #6903 PiperOrigin-RevId: 292314720
olly committed -
It doesn't seem worth keeping the cap, since the device will presumably stop receiving major version updates at some point anyway. Issue: #6899 PiperOrigin-RevId: 291899439
olly committed
-
- 27 Jan, 2020 6 commits
-
-
Oliver Woodman committed
-
OkHttp 3.12.7 introduced a regression, which was fixed in 3.12.8. PiperOrigin-RevId: 291695577
olly committed -
Currently we only do this for the main sample URI, not for subtitles. So pairing a web-based video file with a local subtitle file on a fresh install just throws a 'permission denied' exception. PiperOrigin-RevId: 290794091
ibaker committed -
PiperOrigin-RevId: 290600248
andrewlewis committed -
All these genres are currently causing a warning and are not added to the Metadata.Entry. PiperOrigin-RevId: 290594810
tonihei committed -
+ force arm (over thumb) mode for 32-bit builds -O2 improves performance ~30-40% over the default -Oz depending on the resolution; this is similar to what is done for vp9 which uses -O3. PiperOrigin-RevId: 290318121
olly committed
-
- 17 Jan, 2020 17 commits
-
-
PiperOrigin-RevId: 290276507
olly committed -
- Add additional Listener methods to DownloadManager, to inform of changes to whether the downloads are paused or waiting for requirements. - Only schedule the Scheduler if we really are waiting for requirements. - Only restart the service if we're no longer waiting for requirements, and if there are queued downloads that will now be restarted. Previously the service would be restarted whenever the requirements were met, regardless of whether there was any work to do. - Restart service if it might be stopping, as well as if it's already stopped. Also restart service if there's a download state change to a state for which the service should be started, if. Issue: #6798 PiperOrigin-RevId: 290270547
olly committed -
PiperOrigin-RevId: 290269098
olly committed -
Doing so prevent Codec which is a big object with JNI to be garbage collected. As the codec can not be hold in the listener, there is no way to call release, as it must be called on the same codec. As a result the release method is also removed. The downside is that at runtime some callbacks may be dropped but it should be a short transitive state. This also simplifies lifecycle of the listener as the client does not have to know if release needs to be called or not. An alternative would have been to hold a weak ref, but I deemed it too complicated for the runtime gain. PiperOrigin-RevId: 290231659
krocard committed -
Oliver Woodman committed
-
Issue: #6155 PiperOrigin-RevId: 290117324
olly committed -
PiperOrigin-RevId: 290079840
kimvde committed -
This avoids allocating a Runnable. PiperOrigin-RevId: 290079660
krocard committed -
This fixes an issue where a DownloadService implementation that allows foreground but doesn't provide a scheduler would not be restarted in the case that it was still in memory but classed as idle by the platform. It also speeds up service restart in the case that a scheduler is provided. Issue: #6798 PiperOrigin-RevId: 290068960
olly committed -
This method has two use cases: 1. Seeking. Calls are immediately preceded by a call to rewind(), and the returned value isn't important unless it's ADVANCED_FAILED (i.e. the caller is only interested in success and failure). 2. Advancing. The return value is important unless it's ADVANCED_FAILED, in which case the caller wants to treat it as 0. This change creates separate methods for each use case. The new seekTo methods automatically rewind and return a boolean. The updated advanceTo method returns 0 directly in cases where ADVANCED_FAILED was returned. Arguments that were always hard-coded to true by callers have also been removed. This change is a step toward one possible solution for #6155. How we'll solve that issue is still up for discussion, but this change seems like one we should make regardless! Issue: #6155 PiperOrigin-RevId: 290053743
olly committed -
- DownloadManagerHelper now passes all downloads to the DownloadService when the service is attached (and once the downloads are known). The service then starts the foreground notification updater if necessary. This fixes the ref'd issue. - Don't call getScheduler() if the service is background only. This was already documented to be the case on the DownloadService constructor. - If the service is started in the foreground on SDK level 26 and higher, satisfy the condition to move the service to the foreground in onStartCommand rather than in stop(). It's much more obviously correct, and should produce the same end result. Issue: #6798 PiperOrigin-RevId: 290050024
olly committed -
PiperOrigin-RevId: 290041295
Oliver Woodman committed -
PiperOrigin-RevId: 290032841
Oliver Woodman 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 -
Issue: #6870 PiperOrigin-RevId: 289658261
olly committed -
PiperOrigin-RevId: 289490708
olly committed
-