- 22 Jul, 2016 22 commits
-
-
- TrackSelection now exposes the selected formats, ordered by decreasing bandwidth. This removes the need for DASH, SS and HLS to do the sorting individually. - The change also removes the need to reconstruct TrackSelection instances with a different group index in various places (e.g. MergingMediaPeriod). - This is also a step toward potentially packaging the FormatEvaluator inside of the TrackSelection (TBD). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=128159064
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=128085240
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=128082468
eguven committed -
According to the spec, there is no mandatory relation between segments' sequence numbers of different variants. This CL ignores sequence numbers when switching variants: * In vod, the switching playback position is obtained by adding the duration of previous segments. * In live playback this is not possible. It is assumed that the different live media playlists do not drift apart too much, so the playback position is obtained by subtracting the duration in reverse order. In later CLs, the described mechanisms will become the fallback methods by replacing them with the use of EXT-X-PROGRAM-DATE-TIME information or more reliable sources. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=128072663aquilescanta committed -
ISSUE: #1681 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=128071668
aquilescanta committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=128060676
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=128045581
eguven committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=128040579
sharjeel committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127951757
cdrolle committed -
It's the only place that uses it. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127927164
olly committed -
SmoothStreaming -> Ss MediaPresentationDescription -> DashManifest DashSingleSegmentIndex -> SingleSegmentIndex Moved DASH and Ss manifest classes to matching manifest packages for consistency. For Hls the package is called playlist still, since that's what they're widely known as. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127925961
olly committed -
This also removes direct use of HttpURLConnection and allows use of any HttpDataSource for license requests, which means those using OkHttp can finally use the same network stack for license requests as they're using for everything else, without having to implement their own callback. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127841045
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127825954
mishragaurav committed -
Issue: #548 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127821150
andrewlewis committed -
With this change, MediaCodecRenderer acquires a session from its DrmSessionManager whenever the DrmInitData in the format changes. The DrmSessionManager is permitted to return the same session if it can be re-used. This plumbing adds support for: 1. Key-rotation, in the case that a key-rotation-aware DrmSessionManager is used. Such an implementation will return the same DrmSession for every aquisition, but will be making use of multiple MediaDrm instances within that session to enable the rotation. 2. Playlists with mixed clear and protected content. One final piece to this will be to have each MediaPeriod provide its own license URL. We could also allow each MediaPeriod to specify the DRM UUID, but switching from PlayReady to Widevine in a playlist seems like quite a hypothetical thing. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127816046
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127811486
olly committed -
This is a no-op change to avoid an error-prone unnecessary boolean expression warning. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127787709
cushon committed -
There may be other ways to estimate bandwidth that don't require listening to our own transfers. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127741651
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127737169
olly committed -
This was possible previously, but now we support things like multi-period DASH we need to do the injection in the form of factories rather than concrete instances. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127735816
olly committed -
- Cleaned up documentation - Removed getIndex from Renderer interface - Renamed reset to be positionReset ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127731006
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127551577
eguven committed
-
- 15 Jul, 2016 18 commits
-
-
This change restores ExoPlayer to its previous behaviour. I think we'll want a "resetPosition" boolean parameter on setMediaSource at some point, but no need to add it right now. Note that this would not always reset to the start of the source. For a live playback it will reset to the desired position (normally somewhere slightly behind the live edge). Issue: #1667 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127549700
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127536151
andrewlewis committed -
Renderer no longer extends RendererCapabilities after this change. Capabilities are instead accessed via a getter. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127532634
olly committed -
In V1 we received complaints that Renderer was too locked down. In particular, it wasn't possible to implement a Renderer that wrapped another Renderer, since most of the methods were package private and final (e.g. enable). This change defines Renderer as a proper interface, removing this limitation. A method-reordering-only change will follow this one, to get things into a nice consistent/sane order in each of the Renderer classes. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127527995
olly committed -
We should only give a TrackSelector access to what it needs, not the whole Renderer. This is particular true if [] happens, since more Renderer methods will become publicly visible. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127526473
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127441130
aquilescanta committed -
DashMediaPeriod.releasePeriod resets duration to 0, but instances are currently being re-used through multiple prepare/release cycles. Hence the duration needs to be retained. This change fixes this issue, and also makes variables final in DashMediaPeriod where possible. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127440080
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127436600
eguven committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127415273
olly committed -
1. Rename "extensions" package to "decoder". It's used by both text and (should be used by) metadata, so it's no longer just for extensions. 2. Move Buffer objects move into the decoder package. 3. Rename SubtitleParser and MetadataParser to SubtitleDecoder and MetadataDecoder respectively, since they extend Decoder. Ditto for all subclasses. 4. Subtitle and Metadata decoders now throw their own exception types rather than ParserException. 5. Move MediaCodec classes into a mediacodec package, with the exception of the concrete audio and video renderers. 6. Create an audio package to hold the two audio renderer classes plus related util classes. 7. Create a video package to hold the one video renderer class plus related util classes. After this change the following nice properties hold: 1. Want a video renderer? Look in the video package. Ditto for audio, text and metadata. 2. All TrackRenderer implementations use a decoder of some kind to decode buffers received from the source, so we have consistent terminology there. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127326805
olly committed -
The BandwidthMeter should only be used by MediaSource instances and the objects they reference, so there's really no reason for the player to need to know about it. This change sacrifices DebugTextViewHelper showing the estimated bandwidth, but I think that's a price worth paying. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127316755
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127315877
eguven committed -
Issue: #1658 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127312721
aquilescanta committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127300225
[]inger committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127294338
andrewlewis committed -
I think these were needed for Eclipse only. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127232262
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127232159
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127216536
vigneshv committed
-