- 23 Dec, 2020 21 commits
-
-
PiperOrigin-RevId: 348440799
Oliver Woodman committed -
This replaces all the duplicated logic previously implemented in FakeSampleStream and more closely follows the pattern of how SampleStreams are used from real MediaPeriods. Some tests needed adjustments because using real the SampleQueue improved behaviour: - Waiting for isLoading is only needed once even across period boundaries because the real SampleQueue doesn't have the on/off pattern. - AnalyticsCollectorTest.playlistOperations() was wrongly asserting that some pre-buffering events. The new version is more intuitively correct we pre-buffer the second item during the initial loading phase (thus period1seq1) and keep the buffer in the queue after the removal operation. PiperOrigin-RevId: 348440255
tonihei committed -
The delta updates loose information about previous init segments. Until this is properly fixed, we can avoid the problem by not using delta updates. Issue: #5011 PiperOrigin-RevId: 348023895
tonihei committed -
We're now using CapturingRenderersFactory everywhere PiperOrigin-RevId: 348018988
ibaker committed -
PiperOrigin-RevId: 348018409
ibaker committed -
PiperOrigin-RevId: 348017841
ibaker committed -
PiperOrigin-RevId: 348017268
ibaker committed -
This avoids a NullPointerException later when the format is used. Fixes https://github.com/google/ExoPlayer/issues/8283. PiperOrigin-RevId: 348017149
krocard committed -
PiperOrigin-RevId: 348016819
ibaker committed -
PiperOrigin-RevId: 348016339
ibaker committed -
PiperOrigin-RevId: 348015859
ibaker committed -
PiperOrigin-RevId: 348015304
ibaker committed -
PiperOrigin-RevId: 348014814
ibaker committed -
PiperOrigin-RevId: 348014322
ibaker committed -
PiperOrigin-RevId: 348011243
christosts committed -
With @Ignore but not @test the method is still executed by JUnit: https://github.com/junit-team/junit4/issues/695 PiperOrigin-RevId: 348009981
ibaker committed -
PiperOrigin-RevId: 348008973
kimvde committed -
If we have trailing parts the available window should reach to the end of all trailing parts and not only to the last finished segment. Issue: #5011 PiperOrigin-RevId: 347996626
tonihei committed -
PiperOrigin-RevId: 347994829
ibaker committed -
I decided not to migrate all the tests in one CL to keep the diff manageable. I'll make follow-up CLs to migrate the tests, and eventually delete TeeCodec and all associated logic. I couldn't completely remove the dump diff because ShadowMediaCodec.getCodecInfo() (which would give me access to the MIME type) doesn't seem to work properly - it returned video/avc when name=exotest.audio.aac, and looking into the code it looks like there's some native methods that are missing shadow implementations. PiperOrigin-RevId: 347991956
ibaker committed -
The adaptive period currently extends the base (non-adaptive) period to share common MediaPeriod boilerplate code. However, once we start using the real SampleQueue in FakeMediaPeriod the common code becomes even less and the overhead to support multiple stream implementation from the base class is no longer worth it. Thus, this change removes the class hierarchy and copies the common parts to FakeAdaptiveMediaPeriod. PiperOrigin-RevId: 347990468
tonihei committed
-
- 17 Dec, 2020 19 commits
-
-
PiperOrigin-RevId: 347987861
bachinger committed -
PiperOrigin-RevId: 347987306
bachinger committed -
This was added due to a misunderstanding - we're more interested in testing the edge case of trying to read the last zero bytes of a non-zero-byte resource. In a future change I want to be able test reading a subrange, so each TestResource will need to be at least N bytes long. PiperOrigin-RevId: 347980843
ibaker committed -
Issue: #8323 PiperOrigin-RevId: 347827615
christosts committed -
PlaybackStatsListener has a method whose original intention was to be called when the player is releaed to finish all pending sessions. However, this also meant that later events (e.g. onVideoDecoderDisabled) could create new sessions because the old one was already finished. Use the new onPlayerReleased callback to implement this properly and to fix the unintentional new session creation. PiperOrigin-RevId: 347809527
tonihei committed -
PiperOrigin-RevId: 347807539
tonihei committed -
PiperOrigin-RevId: 347806040
ibaker committed -
This regression was introduced in https://github.com/google/ExoPlayer/commit/b1e9257de143e9f377895b63868ef47b4fc0eea9 Issue: #8349 #minor-release PiperOrigin-RevId: 347802049
ibaker committed -
This will allow moving Player in common. #player-to-common PiperOrigin-RevId: 347797285
krocard committed -
It's intended to log a warning in this case, rather than throw. Issue: #8290 #minor-release PiperOrigin-RevId: 347790527
andrewlewis committed -
PiperOrigin-RevId: 347789441
krocard committed -
PiperOrigin-RevId: 347657903
olly committed -
Also make some related naming improvements. PiperOrigin-RevId: 347653802
olly committed -
Moving the fullscreen button around depending on modes is quite error prone. There is currently a bug where the order of the settings cog and fullscreen button can end up being swapped around as a result of moving the fullscreen button to the minimal controls and back again. It's less error prone just to have a second fullscreen button that's always part of the minimal controls. PiperOrigin-RevId: 347639484
olly committed -
Also make some related naming improvements. PiperOrigin-RevId: 347631916
olly committed -
- In slow motion videos flattened by Samsung, the saut box is kept but only have the 4 first bytes (author field). - In Samsung normal videos, the recording mode is zero. In these cases, skip this box. PiperOrigin-RevId: 347577303
kimvde committed -
Issue: #3750 PiperOrigin-RevId: 347572122
andrewlewis committed -
Previously the `AdTagLoader` only had one listener which meant that updates that should affect all periods with matching identifiers in the timeline only affected the last-attached one. Fix this by having `AdTagLoader` track all its listeners. Issue: #3750 PiperOrigin-RevId: 347571323
andrewlewis committed -
Currently we don't remove the AnalyticsListeners registed to SimpleExoPlayer after calling release. We didn't do this mainly because there are messages triggered as part of the release that still cause interesting events (e.g. decoderDisabled with the final counters, final dropped counts etc). However, we should fully release/remove the listeners once these pending events are delivered to: 1. Not leak listener implementations (e.g. if the listener is an Activity) 2. Ensure we don't send future events that may cause listeners to unintentionally access released or nulled variables. This could happen for example if someone calls a player method after the player was released. In addition, we can add a onPlayerReleased callback to AnalyticsListener to allow implementations to clean themselves up once all pending events are delivered. PiperOrigin-RevId: 347434344tonihei committed
-