- 07 Aug, 2020 33 commits
-
-
This change caused no problems and can be enabled by default. PiperOrigin-RevId: 325264859
tonihei committed -
https://github.com/google/ExoPlayer/commit/1ed5d8b5633f935d3c7f2cc52c1493616b7e0d32
*** Original commit *** Rollback of https://github.com/google/ExoPlayer/commit/bf5e6c7862ae418895b2b6b26fae9c28aa662ee8 *** Original commit *** Pass startPositionUs into Renderer.replaceStream Plumb this down into BaseRenderer.onStreamChanged and use it when deciding whether to render the first frame of a new period. *** *** PiperOrigin-RevId: 325251261
ibaker committed -
PiperOrigin-RevId: 325226353
olly committed -
This will simplify the addition of nullness annotations. PiperOrigin-RevId: 325221749
kimvde committed -
https://github.com/google/ExoPlayer/commit/1ed5d8b5633f935d3c7f2cc52c1493616b7e0d32
*** Original commit *** Rollback of https://github.com/google/ExoPlayer/commit/bf5e6c7862ae418895b2b6b26fae9c28aa662ee8 *** Original commit *** Pass startPositionUs into Renderer.replaceStream Plumb this down into BaseRenderer.onStreamChanged and use it when deciding whether to render the first frame of a new period. *** *** PiperOrigin-RevId: 325218588
ibaker committed -
- Attach types for placeholder sessions. If a placeholder session will be attached and a downstream renderer doesn't know what to do with it, then this attachment is necessary to correctly determine that the renderer does not support the track. - Attach types to sample formats. Without this, if playback fails due to a CryptoException, the ExoPlaybackException that gets thrown spuriously indicates that the format's DRM type was not supported. PiperOrigin-RevId: 325214745
olly committed -
Having both in the trun box is not allowed (see section section 8.8.8.1 of ISO/IEC 14496-12:2015) but this CL makes the code more robust in case this happens. Before this change, the first sample flag was not read, making subsequent reads incorrect. Issue: #7698 PiperOrigin-RevId: 325212160
kimvde committed -
The sniffer sniffs boxes at the start of the file to try and determine whether the file is fragmented. However, if the file is extremely short then it's possible that sniffing will try and read beyond the end of the file, resulting i EOFException being thrown. In general it's OK for sniffing to throw EOFException if the file is not of the correct type. The problem in this case is that EOFException can be thrown for an actual MP4 file, due to the sniffer continuing up sniff atoms up to bytesToSearch in case the file is fragmented. PiperOrigin-RevId: 325205389
olly committed -
PiperOrigin-RevId: 325202386
olly committed -
Also include 5G-NSA estimates and update code to use immutable structures to prevent external updates by the app. PiperOrigin-RevId: 325196303
tonihei committed -
1) As we don't display metadata (title) removed titlebar. 2) Removed exo_ic_{forward,rewind}_30.xml which are not used. PiperOrigin-RevId: 325195605insun committed -
StyledLayoutManager#isFullyVisibility() was wrong and so hiding/showing logic didn't work properly. PiperOrigin-RevId: 324996446
insun committed -
Codec bypass is now enabled for all formats audio track supports. PiperOrigin-RevId: 324987842
krocard committed -
The term "passthrough" was heavily overloaded. For clarity, split most of its usage to different terms: * codec "bypass": no MediaCodec is used * "direct playback": no decoding occurs (but decryption may or may not) * "decrypt only codec": a MediaCodec used only to decrypt, not decode * "offload": playback to an offload AudioTrack. * "passthrough" is now only used in the sense of playing encoded audio * to a non offload AudioTrack. PiperOrigin-RevId: 324984612
krocard committed -
PiperOrigin-RevId: 324941042
gyumin committed -
Issue: Issue: #7611 PiperOrigin-RevId: 324884412
olly committed -
We are not able to associate a codecs attribute to an EXT-X-MEDIA tag if there is no variant with a matching AUDIO GROUP-ID. Lack of codecs string prevents chunkless preparation from determining the track type. Issue: #7678 PiperOrigin-RevId: 324822415
aquilescanta committed -
PiperOrigin-RevId: 324810361
aquilescanta committed -
PiperOrigin-RevId: 324805335
olly committed -
It seems generally useful to have access to the decoder in getOutputFormat. We're currently working around lack of access by using member variables in the concrete audio extension renderers. In the case of the Ffmpeg extension, holding a reference to the decoder is preventing it from being garbage collected when the decoder is released by the base class. PiperOrigin-RevId: 324799670
olly committed -
After discarding upstream we shouldn't reuse the extractor from the (newly) last media chunk because the extractor may have been reused already by the discarded chunks. Also add an assertion to SampleQueue that prevents the hard-to-detect failure mode of overlapping sample byte ranges. Issue: #7690 PiperOrigin-RevId: 324785093
tonihei committed -
The media id defaults to the URI that shouldn't be logged to logcat. PiperOrigin-RevId: 324770157
tonihei committed -
The working of libOpus is different from ffmpeg. With ffmpeg, the decoder can be configured to output floating point PCM. While in libOpus, floating samples are acquired by calling a different function. This is the reason the new JNI functions and the logic in OpusDecoder/LibopusAudioRenderer is added to support float output. PiperOrigin-RevId: 324661603
claincly committed -
More information: https://docs.google.com/a/google.com/document/d/1lzK04DqCZgjOoGQfBT053QIrCvlsyAAwLo0jfqcN6ds/edit?usp=sharing Tested: TAP --sample ran all affected tests and none failed http://test/OCL:324422822:BASE:324408434:1596318556672:a8b3beed PiperOrigin-RevId: 324621068
olly committed -
PiperOrigin-RevId: 324616617
christosts committed -
PiperOrigin-RevId: 324610991
christosts committed -
PiperOrigin-RevId: 324604419
olly committed -
PiperOrigin-RevId: 324599130
christosts committed -
PiperOrigin-RevId: 324579230
olly committed -
Demo app supports clip start/end points and demonstrates manual ad insertions. PiperOrigin-RevId: 324574358
christosts committed -
This callback was not notified before, which could theoretically lead to ad loading timing out. In practice it doesn't currently happen because the timeout appears to start when the ad cue point is reached, not when loadAd is called. We notify onLoaded when the ad media period is prepared (for HTML5 the recommendation is to notify on the HTMLMediaElement 'canplay' event, which this roughly corresponds to). PiperOrigin-RevId: 324568407
andrewlewis committed -
PiperOrigin-RevId: 324560994
olly committed -
PiperOrigin-RevId: 324557397
olly committed
-
- 01 Aug, 2020 7 commits
-
-
Issue: #7677 PiperOrigin-RevId: 324180797
ibaker committed -
Issue: #7244 added this feature to HLS. This change is the exact copy in ChunkSampleStream to add the same support to the other adaptive formats. Note that ChunkSampleStream doesn't support slicing, so we can't cancel a read-from chunk, and we need to prevent reading into an already canceled chunk load so that the chunk can be automatically discarded after the cancelation. Issue: #2848 PiperOrigin-RevId: 324179972
tonihei committed -
PiperOrigin-RevId: 324003583
gyumin committed -
PiperOrigin-RevId: 324002247
ibaker committed -
PiperOrigin-RevId: 323988640
krocard committed -
PiperOrigin-RevId: 323985679
christosts committed -
PiperOrigin-RevId: 323811839
aquilescanta committed
-