- 27 Nov, 2017 12 commits
-
-
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177011497
tonihei committed -
Also slightly improve language normalization/documentation. For this CL, it is assumed that null and "und" languages are different entities. Once we fully tackle language tag normalization, we can decide whether to normalize the "undefined" language. Issue:#2867 Issue:#2980 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177008509
aquilescanta committed -
Guard against out-of-range timestamp
ojw28 committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176997767
tonihei committed -
A message to stop the playback and to quit the playback thread was posted in release(). The stop message removed all other already queued messages which might include the second message to quit the thread. That led to infinite waiting in the release method because the playback thread never got the quit signal. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176997104
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176989632
andrewlewis committed -
Update the default AdaptiveTrackSelection and DefaultLoadControl to use playback speed information. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176989168
andrewlewis committed -
currentTimeMillis is not guaranteed to be monotonic and elapsedRealtime is recommend for interval timing. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176853118
andrewlewis committed -
Fixed by explicitly waiting for the timeline update. This shouldn't be necessary and will be removed as soon as the correct order of events can be guaranteed (timeline change -> state change -> onSeekProcessed). The waiting for the timeline update is implemented by introducing the feature that the test runner also waits until the action schedule has finished before stopping the test. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176848540
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176837939
andrewlewis committed -
In a test run where no exceptions were thrown on the main thread and the test did not time out, exceptions from onPlayerError were not correctly propagated to the test thread (handleException would be called with null). Fix ExoPlayerTestRunner.onPlayerError to propagate the actual exception from the player. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176825907
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176821463
baiming committed
-
- 24 Nov, 2017 1 commit
-
-
We've found that in our production environment, the AAC stream's timestamp exceeds the 33bit limit from time to time, when it happens, `peekId3PrivTimestamp` returns a value that is greater than `TimestampAdjuster.MAX_PTS_PLUS_ONE`, which causes a overflow in `TimestampAdjuster.adjustTsTimestamp` (overflow inside `ptsToUs`) after playing for a while . When the overflow happens, the start time of the stream becomes negative and the playback simply stucks at buffering forever. I fully understand that the 33bit is a spec requirement, thus I asked our stream provider to correct this mistake. But in the mean time, I'd also like ExoPlayer to handle this situation more error tolerance, as in other platforms (iOS, browsers) we see more tolerance behavior.
simophin committed
-
- 23 Nov, 2017 8 commits
-
-
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176768835
olly committed -
This change broke playback through playlists. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176764830
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176763841
olly committed -
Also prevent skip when there's a pending reset, and add a TODO to split/fix chunk discard and downstream format change reporting. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176760955
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176759080
tonihei committed -
This is mostly useful for suppressing the initial position discontinuity reported by ClippingMediaPeriod. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176758972
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176749136
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176693785
olly committed
-
- 22 Nov, 2017 10 commits
-
-
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176666247
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176664332
olly committed -
This brings ClippingMediaSource clip failures in line with what MergingMediaSource does when it cannot merge. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176660123
olly committed -
It currently always reports 0, but it should report the position passed through selectTracks. Reporting should also be disabled if there's a seekToUs call. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176644228
olly committed -
Tests to follow (want to fix breakages first). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176642610
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176629070
jrochest committed -
Parse DASH manifest's publishTime node as defined by ISO/IEC 23009-1:2014, section 5.3.1.2. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176525922
hoangtc committed -
Until recently, changing primary track formats were reported when the corresponding media chunk was discarded which always happened immediately after the sample has been read. Now, media chunks may be discarded later on or in batches, leaving the current reporting mechanism broken because changes may never be reported. This fix separates the discarding from the reporting such that format changes can be reported when the media chunk is first read from, while the discarding operation only discards without reporting format changes. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176519071
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176515168
andrewlewis committed -
Currently EventMessage's presentationTimeMs is kept separately in EventSampleStream. However, EventMessage's presentationTimeMs maybe used in other places besides EventSampleStream, such as when handling `emsg' messages targeting the player. This CL let EventMessage object to holds its presentationTimeMs for such use cases. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176502938
hoangtc committed
-
- 21 Nov, 2017 9 commits
-
-
Oliver Woodman committed
-
Fix initializationData check for SSA subtitles
ojw28 committed -
We (eventually - albeit possibly infinitely far in the future) expect a timeline update with a window of known duration. This also stops live radio stream playbacks transitioning to ended state when their tracks are disabled. As part of this fix, I found an issue where getPeriodPosition could return null even when defaultPositionProjectionUs is 0, which is not as documented. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176492024
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176487991
olly committed -
This allows implementations of those classes to take into account the playback speed for adaptive track selection and controlling when to resume the player. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176484361
andrewlewis committed -
Currently testRunner.blockUntilEnded waits for the first transition to STATE_ENDED or _IDLE before returning. In order to support tests with player repreparations after one playback finished, this change adds an option to specifiy the number of expected transitions to ended. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176484047
tonihei committed -
The ExoPlayerImplInternal.reset method now takes the same set of options as the ExoPlayer.prepare method. This also allows to - Remove some code duplication within ExoPlayerImplInternal - Fix calls to prepare(sameSource, resetPosition=true, resetState=false) with enabled shuffle mode where the position was not correctly reset to the first period index. - Keep the current timeline when calling stop (in line with ExoPlayerImpl). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176481878
tonihei committed -
The initial period index was counted in onPlayerStateChanged. However, we actually want to save the period index in the newly introduced onPositionDiscontinuity after preparation. While being here, also updated deprecated LinkedList to ArrayList. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176479509
tonihei committed -
Currently onTimelineChanged doesn't allow to distinguish easily between the different reasons why it's being called. Especially, finding out whether a new media source has been prepared or the current source refreshed dynamically was impossible without tightly coupling the player operations with the listener. The new reasons provide this disdinction by either indicating a newly initialized media source, a dynamic update to an existing timeline or manifest, or a reset of the player (which usually results in an empty timeline). The original onTimelineChanged method without reason is kept in the DefaultEventListener as deprecated to prevent the need to update all existing listeners in one go. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176478701
tonihei committed
-