- 20 Dec, 2019 1 commit
-
-
Without this @Nullable, potential subclasses can't override the method to return null if they don't want to use the renderer as a media clock. Issue:#6792 PiperOrigin-RevId: 286545736
tonihei committed
-
- 19 Dec, 2019 3 commits
- 18 Dec, 2019 36 commits
-
-
This seems to work with R8 but interact badly with ProGuard. issue:#6771 PiperOrigin-RevId: 286215262
ibaker committed -
PiperOrigin-RevId: 286203692
olly committed -
PiperOrigin-RevId: 286201458
olly committed -
Clarify that the units used here are microseconds PiperOrigin-RevId: 286200583
ibaker committed -
This class is only used to hold temporary data while we parse the settings and text, so we don't need it outside the Parser class. Also remove all state from WebvttCueParser - this increases the number of allocations, but there are already many and subtitles generally aren't very frequent (compared to e.g. video frames). PiperOrigin-RevId: 286200002
ibaker committed -
PiperOrigin-RevId: 286197990
olly committed -
PiperOrigin-RevId: 286191078
olly committed -
PiperOrigin-RevId: 286185549
olly committed -
Fixes JavaDoc on MediaCodecAdapter and AsynchronousMediaCodecAdapter and a field declaration on MediaCodecRenderer. PiperOrigin-RevId: 286157106
christosts committed -
PiperOrigin-RevId: 286156361
andrewlewis committed -
PiperOrigin-RevId: 286154938
olly committed -
R8 does constant folding, so we need to keep buildRawResourceUri to ensure that resources passed to it are kept. PiperOrigin-RevId: 286153875
andrewlewis committed -
Add support for MP3 as an encoding format for passthrough. This change does not change the observable behavior of Exoplayer. Also name the magics. #exo-offload PiperOrigin-RevId: 286146539
krocard committed -
https://github.com/google/ExoPlayer/commit/d48dc4c15933dd8354cbcc6260c48565bb850e15
*** Original commit *** Move getting-stuck-prevention into DefaultLoadControl. We recently added code that prevents getting stuck if the buffer is low and the LoadControl refuses to continue loading (https://github.com/google/ExoPlayer/commit/b84bde025258e7307c52eaf6bbe58157d788aa06). Move this logic into DefaultLoadControl to keep the workaround, and also apply the maximum buffer size check in bytes if enabled. ExoPlayerImplInternal will now throw if a LoadControl lets playback get stuck. This includes the case where DefaultLoadControl reaches its maximum buffer size and not even a mim... *** PiperOrigin-RevId: 286071115
olly committed -
Design doc: https://docs.google.com/document/d/11h0S91KI5TB3NNZUtsCzg0S7r6nyTnF_tDZZAtmY93g/edit Issue: #6161, #5155 PiperOrigin-RevId: 286020313
bachinger committed -
Add experimental method on DefaultRenderersFactory to set the MediaCodecOperationMode on MediaCodecRenderer instances. PiperOrigin-RevId: 286004667
christosts committed -
These annotations are compile-only - so we don't mind they're not accessible at runtime. PiperOrigin-RevId: 285993063
ibaker committed -
Issue: #6773 PiperOrigin-RevId: 285990377
olly committed -
We recently added code that prevents getting stuck if the buffer is low and the LoadControl refuses to continue loading (https://github.com/google/ExoPlayer/commit/b84bde025258e7307c52eaf6bbe58157d788aa06). Move this logic into DefaultLoadControl to keep the workaround, and also apply the maximum buffer size check in bytes if enabled. ExoPlayerImplInternal will now throw if a LoadControl lets playback get stuck. This includes the case where DefaultLoadControl reaches its maximum buffer size and not even a mimimal buffer duration. PiperOrigin-RevId: 285979989
tonihei committed -
This offset allows to improve the calculated live offset because it can take known client-server time offsets into account. PiperOrigin-RevId: 285970738
tonihei committed -
PiperOrigin-RevId: 285964228
ibaker committed -
PiperOrigin-RevId: 285961788
olly committed -
PiperOrigin-RevId: 285956436
ibaker committed -
I want to add fields related to vertical text support, and neither adding another constructor nor updating all call-sites of existing constructors seemed like attractive propositions. PiperOrigin-RevId: 285956024
ibaker committed -
- Remove duplicated null assignments - Move mediaCryptoRequiresSecureDecoder reset to be with all the other mediaCrypto stuff. PiperOrigin-RevId: 285955134
olly committed -
MultiLockAsyncMediaCodecAdapter is an implementation of the MediaCodecAdapter that uses multiple locks to synchronize access to its data compared to the single-lock approach used in DedicatedThreadAsyncMediaCodecAdapter. PiperOrigin-RevId: 285944702
christosts committed -
PiperOrigin-RevId: 285823771
kimvde committed -
Fix the FlacExtractor constructor for the case where seek(0,0) is not called before reading. PiperOrigin-RevId: 285811161
kimvde committed -
PiperOrigin-RevId: 285799995
kimvde committed -
This indicates the extractor has output a Format with a specified maxInputSize that's too small. Failing in FakeTrackOutput ensures this doesn't happen during Extractor tests. PiperOrigin-RevId: 285776069
olly committed -
Manual rollback of https://github.com/google/ExoPlayer/commit/b3f485d7d9c08e39574b72a949166ee4834c3b24 It's technically possible to output a seekable SeekMap with unknown duration. This can occur if the media defines seek points but doesn't define either the overall duration or the duration of the media from the last seek point to the end. PiperOrigin-RevId: 285769121
olly committed -
- Make extractor output samples that are uniformly distributed with respect to time, with a target of ~10 samples per second. The old approach could in theory put every frame into its own sample, which would be very inefficient downstream because we'd need to pass them individually to MediaCodec. It could also put data corresponding to a long duration of time into a single sample (e.g. if the sample rate of the content is low), which is bad downstream because we decide whether to set the decodeOnly flag on a per sample basis. More generally, the new approach is more predictable :). - Stop using the WavSeekMap to get sample timestamps, and instead calculate them directly from the number of frames output. It's more obviously correct, particularly for data formats like IMA ADPCM where we'll need to adjust the data prior to output. PiperOrigin-RevId: 285750010
olly committed -
In MatroskaExtractor, if the last cue time exceeds the duration specified in the header, then we end up generating a negative duration chunk as the last item in the SeekMap. We should probably not do this, so drop it instead. Note: Matroska does have a CueDuration element, but it's not used in the one problematic file I've found. PiperOrigin-RevId: 285738418
olly committed -
Currently, resetting the internal state related to the codec in done in 4 places in MediaCodecRenderer: 1. In the constructor to set some sensible initial default. 2. In flushOrReleaseCodec to reset state after flushing 3. In releaseCodec to reset state to default values for a released codec. 4. In initCodec to reset state to defaul values for a new codec. There are actuall only two types of state reset operations: 1. Resetting state for a released codec, so that a new codec isn't influenced by previous codecs. 2. Resetting state after flushing an existing codec. This is a subset of (1). So to simplify the class, this change moves all state resets to two methods corresponding to the two cases above. PiperOrigin-RevId: 285731913tonihei committed -
These are transitively provided by testutil's build.gradle. This makes the core module consistent with the others like ui, hls, dash PiperOrigin-RevId: 285729566
ibaker committed -
These aren't used from any other Gradle files PiperOrigin-RevId: 285723602
ibaker committed
-