- 12 Dec, 2017 12 commits
-
-
If allowed, the media period will try to finish preparation without downloading chunks (similar to what DashMediaPeriod does). To create track groups, HlsMediaPeriod will try to obtain as much information as possible from the master playlist. If any vital information is missing for specific urls, traditional preparation will take place instead. This version does not support tracks with DrmInitData info. This affects tracks with CDM DRM (e.g: Widevine, Clearkey, etc). AES_128 encryption is not affected. This information needs to be obtained from media playlists, and this version only takes the master playlist into account for preparation. Issue:#3149 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=178098759
aquilescanta committed -
This should be a no-op change. And it eliminates the need to use the index variable which will be removed once the MediaPeriodHolderQueue is implemented. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177963360
tonihei committed -
In some occasions, we may want to discard a part of the buffered media to improve playback quality. This CL adds this functionality by allowing the loading media period to re-evaluate its buffer periodically (every 2s) and discard chunks as it needs. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177958910
hoangtc committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177950960
aquilescanta committed -
FakeRenderer only needs to allocate real memory because it extends BaseRenderer which uses the actual SampleStream implementation. Immediately release the memory after using it to prevent excessive memory usage when running fast simulations. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177949628
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177941993
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177938212
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177936271
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177922948
aquilescanta committed -
This fixes an issue where quickly detaching and reattaching the player might cause ads to be requested multiple times with both responses handled. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177922167
andrewlewis committed -
Add @SuppressWarnings("ComparableType") for instances of a class implementing 'Comparable<T>' where T is not compatible with the type of the class. In order to facilitate enabling a compile-time error check, we are suppressing these existing instances. Once the compile-time error is enabled, we will file bugs to clean up any unfixed instances in []. Note that this CL should result in no effective changes to the code, but the code as currently-written might contain a real bug. If you'd prefer to fix the bug now, please either reply with edits, or accept this CL then follow up with a change that fixes the underlying issue. Tested: tap_presubmit: [] Some tests failed; test failures are believed to be unrelated to this CL ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177836122amesbah committed -
Issue:#3149 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177836048
aquilescanta committed
-
- 04 Dec, 2017 28 commits
-
-
Issue: #2882 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177814974
olly committed -
Issue: #3188 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177811487
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177810991
andrewlewis committed -
Issue: #3524 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177808106
olly committed -
Issue: #3513 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177804505
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177786580
andrewlewis committed -
This is a step towards harmonizing the MediaSource Builders and (potentially) providing MediaSource factories. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177783157
andrewlewis committed -
Waiting for the timeline change didn't work correctly because the timeline was already equal to Timeline.EMPTY (due to the masking). Now waiting explicitly for the empty Timeline exposed by the source. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177749292
tonihei committed -
This is in line with a recent change in ExoPlayerImplInternal. Not discarding the buffer causes OOM when running simulated playbacks. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177573930
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177462449
aquilescanta committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177458840
olly committed -
- Remove skipping of the VBRI/XING frame before calculating position offsets. This was incorrect. Instead, a constraint is used to ensure we don't return positions within these frames, the difference being that the constraint adjusts only positions that would fall within the frames, where-as the previous approach shifted positions through the whole stream. - Excluded last entry in the VBRI table because it has an invalid position (the length of the stream). - Give variables in XingSeeker descriptive names. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177451295
olly committed -
Calling it directly might skip other callbacks. For example: ActionSchedule.Builder().waitForTimelineChanged(...).build(). is currently immediately calling through to callback.onActionScheduleFinished when the timeline changes. Depending on the position of the action schedule listener in the listener set, it may skip other listeners also listening to timeline changes. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177442975
tonihei committed -
The set of active audio processors was only updated on reconfiguration and when draining playback parameters completed. Draining playback parameters are cleared in reset(), so if parameters were set while paused then the sink was quickly reset, without draining completing, the set of active audio processors wouldn't be updated. This means that a switch to or from speed or pitch = 1 would not be handled correctly if made while paused and followed by a seek. Move resetting active audio processors from configure (where if the active audio processors were reset we'd always initialize a new AudioTrack) to initialize(). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177442098
andrewlewis committed -
- This change snaps the seek position for constant bitrate MP3s to the nearest frame boundary, avoiding the need to skip one byte at a time to re-synchronize (this may still happen if the MP3 does not really have fixed size frames). - Tweaked both ConstantBitrateSeeker and WavHeader to ensure the returned positions are valid. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177441798
olly committed -
------------- 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
-