- 20 Sep, 2021 9 commits
-
-
#minor-release PiperOrigin-RevId: 397758146
christosts committed -
PiperOrigin-RevId: 397753634
andrewlewis committed -
PiperOrigin-RevId: 397748657
ibaker committed -
PiperOrigin-RevId: 397718885
ibaker committed -
Issue: #9429 #minor-release PiperOrigin-RevId: 397717740
kimvde committed -
PiperOrigin-RevId: 397717018
andrewlewis committed -
PiperOrigin-RevId: 397707790
tonihei committed -
PiperOrigin-RevId: 397697019
ibaker committed -
These fields can't be used if `drm_uuid` isn't set. Make that case throw an exception, so it's obvious to a developer what's wrong. Most of the fields 'obviously' need `drm_uuid` to be set, but it's not obvious for `drm_session_for_clear_content` (because it might be reasonable to assume it's possible to play clear content without specifying a UUID). This tripped me up in https://github.com/google/ExoPlayer/issues/8842#issuecomment-833659808. PiperOrigin-RevId: 397328556
ibaker committed
-
- 17 Sep, 2021 10 commits
-
-
PiperOrigin-RevId: 397319051
kimvde committed -
Issue: #9430 The current supported SDP (RFC2327) spec only allows for alpha-numeric characters in the attribute-field. RFC4566 (section 9, token type) allowed extra characters, and this CL adds the support. PiperOrigin-RevId: 397301173
claincly committed -
This is known to silently drop the value. This setter is now deprecated in favour of `MediaItem.Builder#setDrmConfiguration(MediaItem.DrmConfiguration)`, which requires a UUID in order to construct the `DrmConfiguration` instance. Issue: #9378 tracks correctly propagating the DRM info out of `DownloadRequest#toMediaItem`. PiperOrigin-RevId: 397291013
ibaker committed -
PiperOrigin-RevId: 397290953
ibaker committed -
The previous implementation did the following (after skipping any ID3 headers at the start of the stream): 1. Skip forward byte-by-byte looking for a sync word (0xFFF) 2. Assume this indicates the start of an ADTS frame and read the size a) If frameSize <= 6 immediately return false 3. Skip forward by frameSize and expect to find another ADTS sync word (with no further scanning). b) If we find one, great! Loop from step 2. a) If we don't find one then assume the **last** sync word we found wasn't actually one, so loop from step 1 starting one extra byte into the stream. This means we're looking for a sync word we would have skipped over in step 3. The asymmetry here comes from the different handling of frameSize <= 6 (immediately return false) and frameSize being 'wrong because it doesn't lead to another sync word' (scan the file again from the beginning for alternative sync words). With this change both these cases are handled symmetrically (always scan for alternative sync words). Step 2a) becomes the same as 3b): Loop back to the beginning of the stream with an incremented offset and scan for another sync word. #minor-release PiperOrigin-RevId: 397285756ibaker committed -
PiperOrigin-RevId: 397280475
bachinger committed -
Issue: #9437 #minor-release PiperOrigin-RevId: 397273931
olly committed -
The deprecated `Player.addListener(EventListener)` is moved out of Player into its subclasses (CastPlayer and ExoPlayer). This is unlikely to break users because: - the method has been deprecated in the last major version - the method is still present in the major implementations If an users is affected, they can either: - use ExoPlayer instead of Player - (recommended) switch to Player.Listener. Additionally update the threading guarantees that did not reflect the current implementation. PiperOrigin-RevId: 397272144
krocard committed -
This will allow to disable video/audio... through the player interface. PiperOrigin-RevId: 397183548
krocard committed -
* Avoid ActivityManager log spam by only calling startForeground once, and subsequently updating the notification via NotificationManager. * Tweak demo app service to make it a tiny bit easier to swap the Scheduler. PiperOrigin-RevId: 397179398
olly committed
-
- 16 Sep, 2021 19 commits
-
-
The second getScheduler() call violates the documentation of the class, which states that getScheduler() is not called if foregroundNotificationId if FOREGROUND_NOTIFICATION_ID_NONE. Presumably implementing subclasses would return null, in which case this didn't do any harm, but we should make sure the implementation behaves as documented regardless. PiperOrigin-RevId: 397167603
olly committed -
#minor-release PiperOrigin-RevId: 397164973
christosts committed -
PiperOrigin-RevId: 397156268
bachinger committed -
PiperOrigin-RevId: 397141742
bachinger committed -
PiperOrigin-RevId: 397138908
olly committed -
Previously gapless offload support was hardcoded to Pixel only. PiperOrigin-RevId: 397070378
krocard committed -
PiperOrigin-RevId: 397066804
bachinger committed -
This is a pre-requisite step for merging SimpleExoPlayer into ExoPlayer, because when StubExoPlayer extends ExoPlayer, it needs a matching constructor. PiperOrigin-RevId: 397065374
samrobinson committed -
Issue: #9428 #minor-release PiperOrigin-RevId: 397064086
claincly committed -
This was originally reported on #9390. There was a bug that when HLS loads failed, the player would endlessly retry and never fail with a player error. This change fixes a bug in HlsSampleStreamWrapper.onPlaylistError() which would return true for a playlist whose load encountered an error but could not be excluded, whereas the method should return false. Issue: #9390 #minor-release PiperOrigin-RevId: 397045802
christosts committed -
PiperOrigin-RevId: 396959703
olly committed -
#exofixit PiperOrigin-RevId: 396938258
bachinger committed -
PiperOrigin-RevId: 396936785
olly committed -
https://github.com/google/ExoPlayer/commit/ee8df7afcb7982519b9375b590f8bdb086f0b08c
*** Original commit *** Ensure MediaSourceFactory instances can be re-used This fixes DefaultDrmSessionManager so it can be used by a new Player instance (by nulling out its reference to the playback thread, which is unique per-Player instance). This only works if the DefaultDrmSessionManager is 'fully released' before being used by the second Player instance, meaning that the reference count of the manager and all its sessions is zero. #exofixit Issue: #9099 *** PiperOrigin-RevId: 396861138
ibaker committed -
Please reference RFC2326 Section A.1 for the state transitions. PiperOrigin-RevId: 396799104
claincly committed -
#exofixit PiperOrigin-RevId: 396793873
kimvde committed -
* Add new README files for the Transformer demo and media/testapps/. * Add an androidx demos README in media/github/ PiperOrigin-RevId: 396784430
huangdarwin committed -
#exofixit PiperOrigin-RevId: 396780460
andrewlewis committed -
Follow-up to https://github.com/google/ExoPlayer/commit/9f3c2fb5e10a4e17a753e3791c9e4e07a79005d1 PiperOrigin-RevId: 396776798
ibaker committed
-
- 14 Sep, 2021 2 commits
-
-
#exofixit PiperOrigin-RevId: 396658717
krocard committed -
Previously the released preacquired sessions would start their keepalive timeout, and so no additional resources would be freed in time for the manager to retry the session acquisition. This change adds an additional purge of keepalive sessions *after* the preacquired sessions are released, which fixes the problem. #exofixit #minor-release PiperOrigin-RevId: 396613352
ibaker committed
-