- 11 Nov, 2021 12 commits
-
-
We only had some documentation for a custom shuffle mode, but none for generic repeat or shuffle modes. #minor-release Issue: google/ExoPlayer#9611 PiperOrigin-RevId: 409089623
tonihei committed -
The Javadoc of DefaultTrackSelector can be shortened as it's not the right place to document detailed options of the Player track selection parameters. The documentation page about track selection is updated to the new APIs and extended with most relevant options and information needed to work with ExoPlayer's track selection API. #minor-release PiperOrigin-RevId: 409088989
tonihei committed -
MediaSource can be reused with other Player instances after they have been released, so we need to set the PlayerId when preparing the source. Access can mostly be handled by the implementation in BaseMediaSource. PiperOrigin-RevId: 408878824
tonihei committed -
HTTP header names are case-insensitive, but all the others in this file are 'correctly' cased, so we might as well be consistent. PiperOrigin-RevId: 408840566
ibaker committed -
PiperOrigin-RevId: 408840409
ibaker committed -
Robolectric uses the JRE HttpURLConnection [1], while real Android devices and emulators use OkHttp to implement HttpURLConnection. This can lead to important differences in behaviour, so it's better to use instrumentation tests when specific HTTP behaviour is important. [1] https://github.com/robolectric/robolectric/issues/6769#issuecomment-943556156 PiperOrigin-RevId: 408840295
ibaker committed -
#minor-release PiperOrigin-RevId: 408825328
ibaker committed -
The setters in the Builder are already deprecated and using the old getter is error-prone as they only return the overrides set with the deprecated setters. Issue: google/ExoPlayer#9665 PiperOrigin-RevId: 408817640
tonihei committed -
PiperOrigin-RevId: 408816643
tonihei committed -
The `VideoSamplePipeline` handles all steps from decoding to re-encoding that where previously in `TransformerTranscodingVideoRenderer`. The renderer is now only responsible for reading the format, reading input, passing it to the pipeline and passing the pipeline's output to the muxer. When no transformations are needed, decoding and re-encoding is skipped using the `PassthroughPipeline`. PiperOrigin-RevId: 408619407
hschlueter committed -
We can rename the existing setIndex method to a more generic init as this method is only called by EPII and implemented by BaseRenderer anyway. PiperOrigin-RevId: 408616055
tonihei committed -
Follow-up to address comments from https://github.com/google/ExoPlayer/commit/9efa32e49b998c1b2ffd8dcea115138930e76cbe. PiperOrigin-RevId: 408600470
hschlueter committed
-
- 09 Nov, 2021 1 commit
-
-
#minor-release PiperOrigin-RevId: 408550935
kimvde committed
-
- 08 Nov, 2021 15 commits
-
-
When dropping the remainder, the decoder and encoder timestamps start diverging after a few buffers when no speed changes are supposed to occur. Tracking the remainder keeps them in sync. PiperOrigin-RevId: 408341074
hschlueter committed -
#minor-release PiperOrigin-RevId: 408331834
ibaker committed -
https://github.com/google/ExoPlayer/commit/95e6db931a047775c1aa792c452be7996167a08f
*** Original commit *** Add link to annual media developer survey. This will be removed after the survey has closed in ~1 month. *** PiperOrigin-RevId: 408327757
ibaker committed -
#minor-release Issue: google/ExoPlayer#9660 PiperOrigin-RevId: 408323173
tonihei committed -
This is needed to ensure the deprecation warning appears on usages in Android Studio and in javadoc. #minor-release PiperOrigin-RevId: 408319182
ibaker committed -
PiperOrigin-RevId: 408311942
ibaker committed -
Each test exercises one of the setters. Together they assert that both setters set both fields. PiperOrigin-RevId: 408309207
ibaker committed -
#minor-release PiperOrigin-RevId: 408304187
ibaker committed -
The platform class is only available from API 31, so we need a generic wrapper that can be used on all API levels. The wrapper essentially provides an identifier for a player instance, so naming it accordingly. PiperOrigin-RevId: 408292802
tonihei committed -
And in a couple of related places. This is for consistency with the rest of the codebase where we exclusively use indices. #minor-release PiperOrigin-RevId: 408273372
tonihei committed -
#minor-release PiperOrigin-RevId: 408269341
tonihei committed -
olly committed
-
#minor-release PiperOrigin-RevId: 407847729
ibaker committed -
#minor-release PiperOrigin-RevId: 407843859
ibaker committed -
The ExoPlayer.Builder constructor overloads are only needed for apps trying to ensure certain classes are removed by R8/proguard, which isn't relevant for the demo app. PiperOrigin-RevId: 407819694
ibaker committed
-
- 05 Nov, 2021 7 commits
-
-
When operating the MediaCodec in asynchronous mode, after a MediaCodec.flush(), we start MediaCodec in the callback thread, which might trigger errors in some platforms. This change adds an experimental flag to move the call to MediaCodec.start() back to the playback thread. PiperOrigin-RevId: 407801013
christosts committed -
When we have multiple overrides for TrackGroups associated with one renderer, we need to look at all of them to find the non-empty one. Empty ones should only be used to remove previously selected tracks for this group and otherwise be ignored. Currently this is broken because the first override (no matter if it's empty or not) is used as the final selection for this renderer. Issue: google/ExoPlayer#9649 #minor-release PiperOrigin-RevId: 407792330
tonihei committed -
When no transformation is needed, the passthrough pipeline allows us to skip decoding and re-encoding. PiperOrigin-RevId: 407789767
hschlueter committed -
PiperOrigin-RevId: 407635099
christosts committed -
* Remove GlUtil.Program String[] constructor to unify and just use the String constructor. * Add getAttributeArrayLocationAndEnable() to simplify things a tiny bit. * Increase usage of constant values. PiperOrigin-RevId: 407570340
huangdarwin committed -
`TransformerAudioRenderer` reads input and passes `DecoderInputBuffer`s to the `AudioSamplePipeline`. The `AudioSamplePipeline` handles all steps from decoding to encoding. `TransformerAudioRenderer` receives `DecoderInputBuffer`s from the `AudioSamplePipeline` and passes their data to the muxer. `AudioSamplePipeline` implements a new interface `SamplePipeline`. A pass-through pipeline will be added in a future cl. PiperOrigin-RevId: 407555102
hschlueter committed -
PiperOrigin-RevId: 407540705
olly committed
-
- 04 Nov, 2021 5 commits