- 31 Aug, 2016 40 commits
-
-
- Remove getNewPlayingPeriodIndex from MediaSource - Remove all absolute references to period indices from Window. Their existence prevents ConcatenatingMediaSource from being able to efficiently handle children with large numbers of entries (e.g. a cursor backed source), since it would copy all windows into its merged timeline. - Fix ExoPlayerImplInternal to attempt a restart in the case that the loading (but not yet prepared) period is removed, in absence of a playing period. - Implement logic for finding the "next" period in the old timeline when attempting a retry. Removing some of the nasty US<->MS conversions left as a virtual TODO. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130659973
olly committed -
Period transitions can either be to new windows (in which case the default position for the new window should be loaded) or to the next period of the current window (in which case the the new period should be played from zero). Fix the logic for calculating the new period index to load to implement this. In processManifest, periodsById may contain periods that have been removed from the manifest, which are still being used by the player (it releases periods on receiving the source info refresh after processManifest returns). Ignore periods that have been removed from the manifest when calling updateManifest. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130626441
andrewlewis committed -
- This change marks the methods that will be removed, and renames the Window methods to remove "Window" from their names. - The Window methods need to be made to work (rather than throw exceptions) when the timeline isn't set. Once that gets done in a subsequent CL, the deprecated methods will be removed. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130612979
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130612920
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130610236
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130547431
olly committed -
- Restore position to start of period if period is not seekable, rather than not at all. - Get the correct window when saving position. - Disable position restore in onNewIntent. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130527704
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130522990
cdrolle committed -
- This change also enables seeking in live windows in the ExoPlayer demo app. - The added playlist doesn't transition properly by itself, but for manual transitions it works correctly, and demonstrates seeking into a default position. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130515880
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130512224
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130509123
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130507478
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130503190
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130422264
eguven committed -
- Add missing callback call. - Allow injection of live edge offset. - Refine calculation of live window size to correctly handle just-started streams where the DVR window hasn't yet grown to full size. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130412465
olly committed -
Also allow use of suggestedPresentationDelay taken from the manifest, and enable this by default. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130409924
olly committed -
SinglePeriodTimelines can all use the same identifier, as their identifier is wrapped in a pair with the (fixed) source index when they are concatenated with other sources' timelines. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130386297
andrewlewis committed -
This is a 1:1 mapping. This change formalises the fact, and makes it possible to easily query the mapping. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130375111
olly committed -
This was always a bit of a hack; for Play Movies. It may well no longer be necessary, and if not I'd like to think of a nicer or more general way of doing it. We can always bring it back if needed. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130373433
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130369177
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130293908
eguven committed -
Also, fix clearing the timeline for source info changes. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130292700
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130289294
andrewlewis committed -
- This avoids the need to have to use the timeline to calculate a window duration, which can be awkward. - Window now represents a window of availability with an isSeekable flag, rather than a window of seekability. - Promoted Timeline and Window to top package; they're pretty important :). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130278509
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130266483
andrewlewis committed -
It's no longer safe to convert END_OF_SOURCE -> duration on the main therad, since the Timeline from which the duration is obtained is posted to the main thread, where-as the buffered position is passed by updating a volatile. Hence an update to the latter might become visible to the main thread before the corresponding Timeline. This change moves the conversion to the playback thread. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130265893
olly committed -
This is in preparation for making it so that periods aren't reused. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130113382
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130111048
olly committed -
This kind of mp4 files has been seen in Hls+fMp4 samples. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130094845
aquilescanta committed -
- For audio/video, we should report the minimum largest queued timestamp. This ensures that buffering continues rather than stops in the case of bad sample interleaving. - If there are "sparse" tracks then they should be ignored for this calculation, otherwise the buffered position can end up getting stuck at some small value (e.g. if there's a text track containing a single sample with a small timestamp). - In the edge case that there are only "sparse" tracks, we probably want to take the maximum largest queued time instead. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130094266
olly committed -
CacheSpan.isEOS (is end of stream) field shows whether the {@link CacheSpan} contains the end of the original stream. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130084365eguven committed -
*** Reason for rollback *** Referential equality was probably the right thing to do, since using .equals breaks track selection in the case that a source exposes two or more tracks whose formats are equal. We should fix the way overrides work instead. *** Original change description *** Fix multi-period transitions with track selection overrides An override applies across periods provided they expose the same track groups according to .equals, but the formats in the override are then compared against the period's formats according to ==. Use .equals consistently to fix. *** ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130083840
olly committed -
It's error prone (and more code) to report two ways ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=129999117
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=129993536
olly committed -
To generate the reports, under 'v2' folder run: ./gradlew createDebugCoverageReport ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=129991223
eguven committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=129987973
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=129987709
olly committed -
This change allows MediaPeriod instances to replace SampleStream instances when the selection isn't changing. It also allows MediaPeriod instances to retain a SampleStream but indicate that the renderer consuming from it needs to be reset. The change is used to fix the ref'd bug, and is used to do the same thing in HLS without the need for the source to report a discontinuity. Note that reporting discontinuity could cause unnecessary failure when used as a child of MergingMediaSource. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=129971782
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=129966073
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=129908648
vigneshv committed
-