- 26 Jul, 2019 4 commits
-
-
This gives a caller greater confidence that the methods have no side effects, and remove any nullness issues with these methods accessing @Nullable member variables. PiperOrigin-RevId: 256525739
olly committed -
- Inline some unnecessarily split out helper methods - Clear ExtractorInput from FlacDecoderJni data after usage - Clean up exception handling for StreamInfo decode failures PiperOrigin-RevId: 256524955
olly committed -
PiperOrigin-RevId: 256202135
olly committed -
PiperOrigin-RevId: 248533906
Oliver Woodman committed
-
- 14 Jul, 2019 2 commits
-
-
r2.10.3
Oliver Woodman committed -
PiperOrigin-RevId: 257630168
olly committed
-
- 09 Jul, 2019 23 commits
-
-
PiperOrigin-RevId: 257185017
bachinger committed -
PiperOrigin-RevId: 257184313
aquilescanta committed -
PiperOrigin-RevId: 257161518
olly committed -
Sending MESSAGE_PREPARE_SOURCE should happen last in the constructor. It was previously happening before initialization finished (and in particular before pendingMediaPeriods was instantiated). Issue: #6146 PiperOrigin-RevId: 257158275
olly committed -
Currently, we sometimes apply new playback parameters directly and sometimes through the list of playbackParameterCheckpoints. Only when using the checkpoints, we also reset the offset and corresponding position for speedup position calculation. However, these offsets need to be changed in all cases to prevent calculation errors during speedup calculation[1]. This change channels all playback parameters changes through the checkpoints to ensure the offsets get updated accordingly. This fixes an issue introduced in https://github.com/google/ExoPlayer/commit/31911ca54a13b0003d6cf902b95c2ed445afa930. [1] - The speed up is calculated using the ratio of input and output bytes in SonicAudioProcessor.scaleDurationForSpeedUp. Whenever we set new playback parameters to the audio processor these two counts are reset. If we don't reset the offsets too, the scaled timestamp can be a large value compared to the input and output bytes causing massive inaccuracies (like the +20 seconds in the linked issue). Issue:#6117 PiperOrigin-RevId: 256533780
tonihei committed -
Before this change we'd release the audio track and create a new one as soon as audio processors had drained when reconfiguring. Fix this behavior by stop()ing the AudioTrack to play out all written data. Issue: #2446 PiperOrigin-RevId: 244812402
andrewlewis committed -
Oliver Woodman committed
-
PiperOrigin-RevId: 257138448
Oliver Woodman committed -
We currently handle most the control code logic after handling special characters. This includes filtering out repeated control codes and checking for the correct channel. As the special character sets are control codes as well, these checks should happen before parsing the characters. Issue:#6133 PiperOrigin-RevId: 256993672
tonihei committed -
PiperOrigin-RevId: 256676196
tonihei committed -
PiperOrigin-RevId: 256147805
Oliver Woodman committed -
1. Only output video starting from a keyframe 2. When calculating the timestamp offset to adjust live streams to start at t=0, use the timestamp of the first tag from which a sample is actually output, rather than just the first audio/video tag. The test streams in the referenced GitHub issue start with a video tag whose packet type is AVC_PACKET_TYPE_SEQUENCE_HEADER (i.e. does not contain a sample) and whose timestamp is set to 0 (i.e. isn't set). The timestamp is set correctly on tags that from which a sample is actually output. Issue: #6111 PiperOrigin-RevId: 256147747
olly committed -
Issue: #6047 PiperOrigin-RevId: 255992898
bachinger committed -
Issue:#6109 PiperOrigin-RevId: 255933121
tonihei committed -
PiperOrigin-RevId: 255584000
andrewlewis committed -
ISSUE: #6093 PiperOrigin-RevId: 255471282
bachinger committed -
PiperOrigin-RevId: 255380796
olly committed -
Also add layer of indirection between code and the guide, to make moving content easier going forward. PiperOrigin-RevId: 255182216
olly committed -
Fix a super tiny typo.
Nam Nguyen Hoai committed -
These are mostly nullability issues. PiperOrigin-RevId: 253537068
tonihei committed -
This permission has normal access right and can't be revoked by the user. However, an app can choose to revoke it when using ExoPlayer, e.g. if no network is required and the app doesn't want to list this permission. Support this use case by gracefully catching the exception in the relevant places. Issue:#6019 PiperOrigin-RevId: 253759332
tonihei committed -
PiperOrigin-RevId: 254182080
Oliver Woodman committed -
We currently don't display the last frame because the seek time is behind the last frame's timestamps and it's thus marked as decodeOnly. This case can be detected by checking whether all data sent to the codec is marked as decodeOnly at the time we read the end of stream signal. If so, we can re-enable the last frame. This should work for almost all cases because the end-of-stream signal is read in the same feedInputBuffer loop as the last frame and we therefore haven't released the last frame buffer yet. Issue:#2568 PiperOrigin-RevId: 251425870
tonihei committed
-
- 26 Jun, 2019 1 commit
-
-
Oliver Woodman committed
-
- 23 Jun, 2019 1 commit
-
-
r2.10.2
Oliver Woodman committed
-
- 21 Jun, 2019 4 commits
-
-
Issue: #6016
Oliver Woodman committed -
Issue: #5928 PiperOrigin-RevId: 254379085
andrewlewis committed -
PiperOrigin-RevId: 254156143
olly committed -
Issue: #6073
Andrew Lewis committed
-
- 19 Jun, 2019 5 commits
-
-
Oliver Woodman committed
-
PiperOrigin-RevId: 253959976
bachinger committed -
ISSUE: #6041 PiperOrigin-RevId: 253958225
bachinger committed -
PiperOrigin-RevId: 253808562
olly committed -
We are currently queuing periods in a way such that the new start position lines up with the end of the previous period (to ensure continuous playback). However, if the start position of the new period is larger than the total of all previously played period durations, we may end up with negative renderer timestamps when seeking back to the beginning of this new period. Negative timestamps should be avoided as most decoders have problems handling them correctly. This change forces a renderer reset if we detect such a seek to a negative renderer time and also resets the renderer offset to 0 every time all renderers are disabled, as this is the only time where we can savely change the offset of an existing media period. Also, if playback starts with an ad, we choose the content position as renderer offset to prevent the whole issue from occurring for the seek-behind- midroll case. Issue:#6009 Issue:#5323 PiperOrigin-RevId: 253790054
tonihei committed
-