- 15 Jun, 2016 12 commits
-
-
- Format can represent both container and sample formats. If a container contains a single track (as is true in DASH and SmoothStreaming) then the container Format can also contain sufficient information about the samples to allow for track selection. This avoids the Format to MediaFormat conversions that we were previously doing in ChunkSource implementations. - One important result of this change is that adaptive format evaluation and static format selection now use the same format objects, which is a whole lot less confusing for someone who wants to implement both initial selection and subsequent adaptation logic. It's not in the V2 doc, but it may well make sense if the TrackSelector not only selects the tracks to enable for an adaptive playback, but also injects a FormatEvaluator when enabling them that will control the subsequent adaptive selections. That would make it so that all format selection logic originates from the same place. - As part of this change, the adaptiveX variables are removed from the format object; they don't really correspond to a single format. This also saves on having to inject the max video dimensions through a bunch of classes. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=114546777
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=114545827
olly committed -
Duration was originally included in MediaFormat to match the framework class, but it actually doesn't make much sense. In many containers there's no such thing as per-stream duration, and in any case we don't really care. Setting the duration on each format required excessive piping. This change moves duration into SeekMap instead, which seems to make a lot more sense because it's at the container level, and because being able to seek is generally couplied with knowing how long the stream is. This change is also a step toward merging Format and MediaFormat into a single class (because Format doesn't have a duration), which is coming soon. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=114428500
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=114427767
olly committed -
[Step 4 - Partial, of [] - The capabilities checks previously performed in VideoFormatSelectorUtil are now performed in MediaCodecVideoTrackRenderer. This means they'll be useful for non-chunk use cases (e.g. when using ExtractorSampleSource). - Added capabilities checks for audio in MediaCodecAudioTrackRenderer. We didn't check audio capabilities previously. - Added functionality to allow a TrackRenderer to indicate the extent of its adaptive support. The idea here is that a TrackSelector (to be introduced) will have access to: (a) TrackGroups from the SampleSource that indicate whether they support adaptive playbacks and the formats of each individual track. (b) TrackRenderers that indicate whether they support adaptive playbacks as well as how capable they are of rendering formats of individual tracks. This is everything that a TrackSelector needs from the player components in order to decide how to wire things up. Note that a TrackSelector may opt to treat FORMAT_EXCEEDS_CAPABILITIES as FORMAT_HANDLED at its own risk, if it thinks that it (or the user) knows better. This is a request that we've seen from third parties for better handling cases where capabilities aren't accurately reported by the underlying platform. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=114427428
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=113868179
cblay committed -
Delete SingleSampleChunkSource. I don't think it's really useful for anything, now we have SingleSampleSource. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=113259289
olly committed -
This change removes the need for SourceBuilders to load their manifests before building their sources. This is done by pushing initial manifest loads into the ChunkSource classes. This simplifies the SourceBuilders a lot, and also DemoPlayer. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=113259259
olly committed -
Notes: 1. The logic in ExoPlayerImplInternal is very temporary, until we have proper TrackSelector implementations. Ignore the fact that it's crazy and has loads of nesting. 2. This change removes all capabilities checking. TrackRenderer implementations will be updated to perform these checks in a subsequent CL. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=113151233
olly committed -
Move binding of tracks<->renderers to ExoPlayerImplInternal. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=113046018
olly committed -
GitHub note - Apologies for the cryptic change descriptions, they relate to a design doc that's not externally visible. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=113043764
olly committed -
Oliver Woodman committed
-
- 22 Jan, 2016 20 commits
-
-
Oliver Woodman committed
-
Oliver Woodman committed
-
Fixes: #1176 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112781092
aquilescanta committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112776882
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112774678
andrewlewis committed -
Oliver Woodman committed
-
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112736771
olly committed -
When a seek is performed, renderers currently perform the actions that they need to take in two places: Some changes are performed in seekTo implementations. Other changes are performed when discontinuities are read from the source. In HLS we need to perform what is effectively a seek originating in the source. To support this, this CL allows discontinuities read from the source to modify the playback position. All actions that renderers perform as a result of a seek are moved to be performed when a discontinuity is received. Best way to understand CL: - Look at SampleSource interface change and then at the concrete implementations, to make sure they've been changed properly. - Look at SampleSourceTrackRenderer change. - Look at concrete renderers. The general pattern is that code previously performed in seekTo and READ_DISCONTINUITY is merged into onDiscontinuity(). Note: This will be further untangled in V2. Issue #676 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112720746
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112699916
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112699244
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112693523
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112691130
andrewlewis committed -
Based on AOSP's MP3Extractor.cpp and ID3.cpp. Issue: #497 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112685664
andrewlewis committed -
As part of this change, Extractor.sniff may read/skip (not just peek) if it returns true. This allows Extractors to avoid parsing the input a second time in read. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112683272
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112676296
andrewlewis committed -
Oliver Woodman committed
-
Also fix a couple of style nits.
Oliver Woodman committed -
Oliver Woodman committed
-
Oliver Woodman committed
-
Oliver Woodman committed
-
- 18 Jan, 2016 3 commits
-
-
Issue: #398 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112412961
andrewlewis committed -
This makes sense until we need to support seeking in the live window. Issue: #676 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112402026
olly committed -
Also apply the workaround for the secure variant of OMX.SEC.avc.dec. Note that it's not necessary to do the same for the RK decoder in the method below, since that workaround is targeted at SDK_INT<=17 and secure decoders only came along in 18. Issue: #603 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=112395376
olly committed
-
- 16 Jan, 2016 4 commits
-
-
link track language attribute in Smoothstream parser
ojw28 committed -
Bart van den Ende committed
-
Bart van den Ende committed
-
Bart van den Ende committed
-
- 15 Jan, 2016 1 commit
-
-
Oliver Woodman committed
-