- 23 Jan, 2018 34 commits
-
-
Instead of DefaultBandwidthMeter, TransferListener<? super DataSource> is used. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182785785
eguven committed -
These were caused by two issues: 1. The FakeMediaSource can be updated with a new timeline. The setNewSourceInfo is called from a different thread than prepareSource and both access local variables without synchronization. 2. For multi-window playback, the FakeRenderer claims that isReady and isEnded are both set to false if it read the end of the stream. However isReady should be true because it is able to "render" its data until the end of the stream. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182785169
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182770109
andrewlewis committed -
When a loaded DASH manifest is invalid (either some periods were removed illegally, or a manifest for a live event is stale), we will retry using 1 logic: - Retry loading with back-off up-to a limit. - Throw a DashManifestExpiredException() if we exceed retry limit. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182770028
hoangtc committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182754993
eguven committed -
Also disable use of dummy surface for devices that require the workaround. It's only useful in the case that we can use setOutputSurfaceWorkaround, so if it's disabled the dummy surface has no purpose (it actually makes things worse by consuming past the key-frame prior to the current position, which doesn't happen if you have no surface at all). Issue: #3724 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182750068
olly committed -
This fixes a very specific case where the data read has non-cached gaps and a read-only CDS switches to read from upstream in a gap then the cached data is deleted. When the CDS reaches the end of the gap, it tries to open the next source. As there is no cached data, it tries to continue with the already opened upstream data source but as it reached end of the gap range, the code starts looping. Also fixes infinite lock which occurs when in the previous case CDS isn't readonly. It locks the content while filling the gap in the cache. At the end of the gap, as the following data is deleted it tries to lock the content for writing but the content is already locked by itself. The last fix is preventing removal of CachedContent entry from CachedContentIndex while associated key is locked. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182595426
eguven committed -
Some tests in ExoPlayerTest issue commands to the player from the test thread while the player is actively playing media (playWhenReady=true). Due to the indeterminate time taken to enqueue the commands on the playback thread, they may arrive when the player already proceeded to another window or finished playback. To ensure the tests are always deterministic, this change pauses playback in the tests where this may happen before issuing the commands. Also, for tests where we need to wait for a new window before issuing the next command, a new action is added which allows to play until a specified position. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182535096
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182534505
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182533415
aquilescanta committed -
- Get handling of "stale" and "out of sync" manifests so they're right next to each other (to be merged) - Move startLoadingManifest to be next to the methods that schedule it, and actually start loading stuff. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182530683
olly committed -
As soon as the seek gets acknowledged by EPII, EPI returns the actual position from the playback info again which is set by EPII. Thus, EPII needs to update the position to reflect the changes expected by EPI. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182515106
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182512582
bachinger committed -
- In IDLE, the button will now call a preparer. This allows removal of the separate retry button from the demo app. - In ENDED, the button will seek back to the default position and play. - Behavior is made consistent with LeanbackPlayerAdapter. Issue: #3689 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182506855
olly committed -
When determining the next sample to load, the Mp4Extractor now takes into account how far one stream is reading ahead of the others. If one stream is reading ahead more than a threshold (default: 10 seconds), the extractor continues reading the other stream even though it needs to reload the source at a new position. GitHub:#3481 GitHub:#3214 GitHub:#3670 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182504396
tonihei committed -
Add SAMPLE-AES-CTR, which replaces SAMPLE-AES-CENC per latest spefication: https://storage.googleapis.com/wvdocs/Widevine_DRM_HLS.pdf. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182407790
kqyang committed -
It seems good to have EventLogger available from the library. In particular because when app developers use it and then submit bug reports, it makes it much easier to work out what happened. It will also allow EventLogger to be used across our (now multiple) demo apps. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182389407
olly committed -
This gets rid of the manual tracking of this queue with reading, playing, and loading period holders. Still keeping these names for queue access methods. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182378944
tonihei committed -
Also sanitize naming (PlayerView/PlayerControlView). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182364487
olly committed -
Issue:#3622 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182363243
aquilescanta committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182261649
olly committed -
This was broken by [] ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182206548
aquilescanta committed -
Issue:#3632 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182202289
aquilescanta committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182183184
olly committed -
This solves the problem of having dense tracks' ids change. For example, if the available variants offer both HEVC and AVC video tracks, all video samples will map to the same sample queue even if IDs don't match. Issue:#3653 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182070486
aquilescanta committed -
Issue:#3653 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182064250
aquilescanta committed -
This avoids issues that can arise due to slight discrepancies between chunk start times (obtained from the manifest of segment index) and the timestamps of the samples contained within those chunks. Issue: #2882 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182054959
olly committed -
This is a Scheduler implementation which uses Firebase JobDispatcher. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182051350
eguven committed -
For live streaming, there are several types of DASH `emsg' events that directly target the player. These events can signal whether the manifest is expired, or the live streaming has ended, and should be handle directly within the player. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182034591
hoangtc committed -
Android NDK r9 in [] is deprecated (see [] Update the ExoPlayer flac extensions to use android_jni_library. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182017669
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=181970955
aquilescanta committed -
This allows listeners to get notified of any change to the embedded tracks. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=181969023
tonihei committed -
ChunkSampleStream.seekToUs assumes that if we can seek within the primary sample queue, we can also seek within the embedded queues. This assumption can be violated fairly easily if discardBuffer is called with toKeyframe=true, since this can cause samples to be discarded from the embedded queues within the period for which a seek in the primary sample queue will succeed. This change fixes the issue. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=181965902
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=181962471
olly committed
-
- 15 Jan, 2018 6 commits
-
-
Oliver Woodman committed
-
PGS subtitle decoding support
ojw28 committed -
minimal fix to support NDK r16
ojw28 committed -
Issue: #3703 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=181947101
andrewlewis committed -
These haven't been included in the recent changes but can be reported as soon as the first sample of each stream is read. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=181753141
tonihei committed -
We added the other callbacks some time ago, but didn't include onLoadStarted. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=181743764
tonihei committed
-