- 03 Jan, 2018 14 commits
-
-
Whilst the previous behavior was WAI and had the advantage of updating the position to be more exact when known, there were a couple of disadvantages: 1. If seeking to the very end of a period in a playlist when paused, the position adjustment could trigger a position discontinuity to the next period. 2. We de-duplicate seeks to the current playback position. The position adjustment can prevent this from being effective. This is particularly important with the new SeekParameters support. When seeking to nearest sync point it's often possible to de-duplicate seeks, but we cannot do so if the playback position adjusts away from the sync point's time. Issue: #2439 Issue: #2882 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=180540736
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=180538379
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=180254437
tonihei committed -
Issue:#3631 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=180197723
eguven committed -
This ensures that simulated playbacks always use the current player implementation. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179929911
tonihei committed -
This ensures message order if multiple custom messages running on the playback thread and direct player commands are called immedately after each other. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179925852
tonihei committed -
Issue: #3379 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179925320
andrewlewis committed -
This allows to inject a FakeClock for tests. Other playback components (e.g. some media sources) still use SystemClock but they can be amended in the future if needed. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179921889
tonihei committed -
Especially this removes the need for the Clock interface to directly implement Handler methods. Instead, we have a separate Handler interface and the FakeClock is able to construct such a Handler. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179918255
tonihei committed -
If ClippingMediaSource contains a child MediaSource with embedded metadata stream, and the embedded stream is being used, it can lead to ClippingMediaSource not be able to stop after the clipping end point. The reason being the metadata stream cannot read anymore sample, but it's also not end of source at that point. This CL fix this by changing the condition to check if the child stream cannot read anymore sample and it has read past the clipping end point. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179918038
hoangtc committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179917833
olly committed -
This prevents NPE when release or stop is called before tracks have been selected. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179911907
tonihei committed -
This adds options to ExoPlayer.sendMessages which allow to specify a window index and position at which the message should be sent. Additionally, the options can be configured to use a custom Handler for the messages and whether the message should be repeated when playback reaches the same position again. The internal player converts these window positions to period index and position at the earliest possibility. The internal player also attempts to update these when the source info is refreshed. A sorted list of pending posts is kept and the player triggers these posts when the playback position moves over the specified position. Issue:#2189 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179683841
tonihei committed -
*** Original change description *** Add possiblity to send messages at playback position. This adds options to ExoPlayer.sendMessages which allow to specify a window index and position at which the message should be sent. Additionally, the options can be configured to use a custom Handler for the messages and whether the message should be repeated when playback reaches the same position again. The internal player converts these window positions to period index and position at the earliest possibility. The internal player also at... *** ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179666357
tiffanywong committed
-
- 02 Jan, 2018 2 commits
-
-
This adds options to ExoPlayer.sendMessages which allow to specify a window index and position at which the message should be sent. Additionally, the options can be configured to use a custom Handler for the messages and whether the message should be repeated when playback reaches the same position again. The internal player converts these window positions to period index and position at the earliest possibility. The internal player also attempts to update these when the source info is refreshed. A sorted list of pending posts is kept and the player triggers these posts when the playback position moves over the specified position. Issue:#2189 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179563355
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179406910
olly committed
-
- 15 Dec, 2017 17 commits
-
-
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179227114
olly committed -
- Lint doesn't like a static import of something not available on the minimum API level. - The method linked to in the Javadoc was incorrect (wrong signature). I couldn't really work out why it was there, so I got rid of it rather than updating. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179222587
olly committed -
Update PlaybackControlView and SimpleExoPlayerView so when showTimeoutMs is set while the controller is shown, the new timeout takes effect immediately. GitHub: #3554 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179171727
hoangtc committed -
Previously the ad/content progress updates were toggled based on whether the player was playing ads or content. After this change, we switch based on whether playAd/stopAd has been called instead. This seems to resolve an issue where occasionally the player would get stuck at the start of an ad, but as I don't have a root cause for that issue and it's only sporadically reproducible I'm not certain this is a reliable fix. Issue: #3525 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179169296
andrewlewis committed -
Issue #3594 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179167738
olly committed -
onEnded was being called also for content finishing, as in this case the playing ad index changed (from INDEX_UNSET to 0). Fix this test so we only detect ads finishing. Also add logging for onEnded callbacks. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179167737
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179165479
andrewlewis committed -
This adds a parameter to configure a maximum buffer size in bytes. If left at its default of C.LENGTH_UNSET, the target buffer is determined using a overridable method based on the track selection. Also adding a parameter to decide whether to prioritize time or size constraints. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179048554
tonihei committed -
They worked without being present in the declare-styleable, but they need to be present for Android Studio auto-complete to suggest them. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179047478
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179039563
aquilescanta committed -
Also fix ClippingMediaSource to consider the start position an artificial key-frame, and to properly offset the value returned by getAdjustedSeekPositionUs. Issue: #2882 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179032243
olly committed -
Skipping short periods in a while loop is conceptually a new operation and thus we need to send out the updated playback info in between for the listeners to receive multiple period transition discontinuities. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=179027334
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178970007
jschlag committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178916145
olly committed -
This is a no-op change replacing the local variables in ExoPlayerImplInternal with the new ones in PlaybackInfo. *** Use playbackState, isLoading and trackSelectorResult from playbackInfo in ExoPlayerImpl. *** Move duplicated listener notification in ExoPlayerImpl to new method. Also split reset method in one parts which creates the new playback info and one part which notifies the listeners. The increment of the pending operation counter needs to happen in between. *** Use only one pending operation counter in ExoPlayerImpl. This also allows to move onSeekProcessed into the notification chain. *** Replace playback info changing messages to ExoPlayerImpl by single message type. As they are all handled in the same way, they can be summarized to one message. *** Only send playback info change notifications once per playback thread message. This ensures that all concurrent changes actually reach ExoPlayerImpl concurrently. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178907165
tonihei committed -
- Convert the Builder into a Factory - Have it use MediaSourceEventListener - Also made some misc related fixes to other sources ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178906521
olly committed -
If the library is not available, no tracks can be selected and the tests silently run through by immediately switching to ended state without error. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178904347
tonihei committed
-
- 13 Dec, 2017 4 commits
-
-
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178877884
olly committed -
1. The player doesn't acknowledge phantom stops when an exception is thrown anymore. 2. It also makes sure it doesn't reset the pendingPrepareCount unless it's actually immediately acknowledging these prepares. 3. It ensures a seek is acknowledged even though an exception is thrown during seeking. Added tests (which previously failed) for all three cases. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178876362
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178866131
olly committed -
norelnotes=true ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178785377
bachinger committed
-
- 12 Dec, 2017 3 commits
-
-
Also fix propagation of ad errors that occur when no player is attached. Issue: #3548 Issue: #3556 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178767997
andrewlewis committed -
Issue: #3302 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178615074
andrewlewis committed -
Issue: #2882 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178606133
olly committed
-