- 15 Jun, 2016 40 commits
-
-
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121566154
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121565738
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121564959
olly committed -
SubtitleParser includes a method updating the current playback position for parsers that need to be aware of the position in order to determine how to batch captions (i.e. Eia608Parser). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121519712
cdrolle committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121501144
olly committed -
- This moves to a single DrmInitData implementation that supports both specific and universal UUID matching. You can also do a combination of the two, which was not previously possible. - The object model is simplified as a result. This is a precursor to a change where DrmInitData will be included directly in the Format to enable key rotation. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121472592
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121468904
eguven committed -
In order to apply track type specific policies in the track selection, we need to know the type of the track renderer, this method returns one of the constants defined in C.java of the form TRACK_TYPE_* to allow renderer classification. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121369021
aquilescanta committed -
If the media format changes from one Format object to another one that's is equal (but not the same object), readData would end up performing an expensive equality evaluation on every invocation. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121362300
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121102072
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121101188
olly committed -
This will be required for key rotation to work, since we'll need a way to determine whether or not the init data has changed. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121018211
olly committed -
Only edit lists that truncate the first/last sample are supported, which is sufficient to handle AAC encoder delay/padding. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121011278
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121002218
olly committed -
Dash/SS SampleSources now instantiate ChunkSource and ChunkSampleSource (renamed to ChunkTrackStream) instances on demand as tracks are enabled. The TrackGroups exposed by the DASH/SS SampleSources are now constructed at the top level. Note that this change resolves the TODOs at the top of the ChunkSource classes, allowing multiple adaptation sets of the same type. Next steps will include: - Bring back UTC timing element support for DASH, which will be an extra request during preparation in the DASH SampleSource. - Simplification of manifest fetching to use a Loader directly in the two top level SampleSource classes. ManifestFetcher should eventually go away once HLS no longer needs it. - Eventually, some consolidation between DASH/SS. There's a lot of common code there now. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121001777
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121001478
olly committed -
Parse the duration of the media directly from the manifest in the DASH/SS SampleSource implementations. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121001296
olly committed -
This change pulls manifest refresh responsibility up to the top level Dash/SS SampleSource implementations. In following steps more of the manifest processing logic will be pulled up (e.g. extracting track groups from the initial manifest), which will allow ChunkSampleSource/ChunkSource instances to be further simplified and created on demand. I've avoided moving/renaming anything for now, so as to keep it fairly easy to review. Note that this change does the TODO related to releasing the manifest fetchers. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121001139
olly committed -
This is a mechanical change. The two new SampleSource classes are forked from MultiSampleSource, with the logic that previously was in the demo app's SourceBuilder methods copied into the corresponding constructors. Subsequent steps will: 1. Pull the initial manifest processing from DashChunkSource and SmoothStreamingChunkSource into the new SampleSource classes. 2. Remove the construction of ChunkSampleSource instances from the constructors, instead instantiating children only as needed when tracks are enabled. 3. Simplify ChunkSampleSource down into a ChunkTrackStream object. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121001021
olly committed -
Refactored Eia608Parser so that it manipulates the caption string builder directly, avoiding unnecessary object allocation. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120926283
cdrolle committed -
pageHeader.headerArray is only used in getNextSeekPosition() in which populatePageHeader() resets them both at the beginning anyway. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120902428
eguven committed -
The construction currently in SourceBuilder will be moving inside of the core lib, so it can't refer to DemoPlayer constants. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120822759
olly committed -
If rendererMediaClock is non-null, the rendererMediaClockSource is enabled or started, so remove the check in updatePositionUs. When disabling renderers for track selection, renderers with changing track selections always transition from started -> enabled. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120819483
andrewlewis committed -
- You can't link to a generic type (apparently). - Suppress unchecked conversion warning. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120817601
olly committed -
Plus add processOutputBuffersChanged just for consistency with processOutputBuffer and processOutputFormat. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120811608
olly committed -
Functionality is moved into Eia608Parser, so that Eia608Parser can be used with TextTrackRenderer, similar to all the other text/subtitle formats. Modified some of the other text/subtitle-related classes to support the new behaviour. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120755145
cdrolle committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120722975
olly committed -
This CL allows near-complete support to CSS selectors (I say near because not every CSS rule applies to WebVTT). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120717498
aquilescanta committed -
Now uses buffer position + limit in both new and legacy modes. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120713837
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120699171
eguven committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120694784
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120693278
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120691990
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120689946
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120553402
olly committed -
Reading the format and/or a sample needs to be done as a single operation. Else you can have a situation where the queue is initially empty, and this happens: 1) Read downstream format X 2) Read downstream format X (unchanged) 3) Write format Y 4) Write first sample 5) Read first sample The first sample then appears to be format X rather than Y. Note that readData in the SampleSource implementations always looks roughly the same. readReset is identical in all cases. isReady is identical in all cases now I've fixed them to be that way. So it should be pretty easy to get DefaultTrackOutput to implement TrackStream directly, at which point a whole load of duplication will disappear. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120546377
olly committed -
- Code is simpler. We only ever reset all tracks. - Allows the standalone media clock to be updated properly. This allows simpler recovery for live streams in ExtractorSampleSource. - Fixes #1285 and paves the way for a fix for #758. Issue: #1285 Issue: #758 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120530682
olly committed -
I think the concept of a sparse track might need formalizing in Format at some point. We should probably do a similar thing with sparse tracks in ExtractorSampleSource as well. WDYT? Issue: #551 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120530195
olly committed -
This is just wrong. I think there used to be an off-by-one timestamp error in YouTube's fmp4 streams, and this code was initially designed exclusively to play such streams. I don't see this issue any more though, if it was ever there! ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120447694
olly committed -
Having moved HLS to use single sample queues per track, these classes have become relatively similar. This CL aligns the two to make this more obvious. It remains unclear whether it'll ever be sensible to merge them; there are still some niggly complications for HLS. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120429618
olly committed
-