- 04 Dec, 2017 28 commits
-
-
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177440699
aquilescanta committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177438430
aquilescanta committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177435977
aquilescanta committed -
Some streams don't have the new video resolution in the primary format. Use the subsequent call to videoListener.onVideoInputFormatChanged to resolve this unknown resolution. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177433618
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177430827
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177424314
andrewlewis committed -
Support ad MediaSources that aren't prepared immediately by using DeferredMediaPeriod, moved up from DynamicConcatenatingMediaSource. In a later change the new interfaces will be made public so that apps can provide their own MediaSource factories. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177424172
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177419981
andrewlewis committed -
captions fetcher architecture. 1. ManifestlessCaptionsMetadata Other captions fetchers must first fetch a manifest (HLS or manifest) to discover captions tracks. This process does not exist for manifestless. All we need to do is scan the FormatStream's for the right itag, so this is an all-static class. 2. ManifestlessSubtitleWindowProvider Once a captions track is selected, a subtitles provider is instantiated. This is the main interface used by the player to retrieve captions according to playback position. This class stores fetched captions in a tree index by time for efficient lookups. Background captions fetches are used to populate the tree. 3. ManifestlessCaptionsFetch Captions are fetched one segment at a time. One instance of this object is required per fetch. It performs a blocking fetch on call(), and is intended to be submitted to a background-thread executor. 4. ManifestlessCaptionsFetch.CaptionSegment This is the result of the caption fetch. These values are used to populate the captions tree. Manifestlessness The initial request is always a headm request. There is a separate tree of every segment indexed by start time. This tree is used to improve manifestless sequence number calculation. Once we have data for the current timestamp, we walk forward through the tree to find the next unfetched sequence number, and fetch that. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177385094
mdoucleff committed -
Currently FragmentedMp4Extractor only parses and outputs emsg messages if the flag FLAG_ENABLE_EMSG_TRACK is set (when there's a metadata renderer that handles emsg messages). Since there are emsg messages that only targets the player, which we want to handle independently from MetadateRenderer, this CL adds the ability for FragmentedMp4Extractor to output emsg messages to an additional TrackOutput if provided, independently from FLAG_ENABLED_EMSG_TRACK. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177318983
hoangtc committed -
- Avoid re-downloading data prior to the first mdat box when seeking back to the start of an unseekable FMP4. - Avoid re-downloading data prior to the first frame for constant bitrate MP3. - Update SeekMap.getPosition documentation to allow a non-zero position for the unseekable case. Note that XingSeeker was already returning a non-zero position if unseekable. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177317256
olly committed -
There are still things broken about the seeker, but this cleans up some of the weird bits. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177315136
olly committed -
Makes it less error-prone to accidentatly forget to set the right overwrites. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177282089
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177184331
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177175377
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177173618
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177170994
aquilescanta committed -
This allows to keep the state synced with ExoPlayerImpl after stopping the player, but still releases the media source immediately as it needs to be reprepared. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177167980
tonihei committed -
- Align class summary Javadoc - Fix ErrorProne + Style warnings ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177165593
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177146923
aquilescanta committed -
Against all odds, samples can be reordered by using drag & drop. Issue:#1706 Issue:#2283 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177145553
aquilescanta committed -
We can acknoledge seeks before preparation finished immediately now, because ExoPlayerImpl won't leave the masking state until the first prepare operation is processed. As a side effect, it also cleans up the responsibility of the callbacks. Prepares are always acknowledged with a SOURCE_INFO_REFRESHED, while seeks are always acknowledged with a SEEK_ACK. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177144089
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177141094
olly committed -
The ExoPlayerImpl implementation forwards the stop request with this optional parameter. To ensure correct masking (e.g. when timeline updates arrive after calling reset in ExoPlayerImpl but before resetInternal in ExoPlayerImplInternal), we use the existing prepareAck counter and extend it also count stop operations. For this to work, we also return the updated empty timeline after finishing the reset. The CastPlayer doesn't support the two reset options so far. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177132107
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177063576
olly committed -
Feature/iso8601 parser 2
ojw28 committed -
Pavel Stambrecht committed
-
Pavel Stambrecht committed
-
- 28 Nov, 2017 1 commit
-
-
ojw28 committed
-
- 27 Nov, 2017 11 commits
-
-
Merge of https://github.com/google/ExoPlayer/pull/3495 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177057183
olly committed -
Unconditionally waiting for the action schedule to finish in ExoPlayerTestRunner doesn't work if the action schedule is not intended to be finished. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177024139
tonihei committed -
------------- 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
-