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
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
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
- 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
Plus add processOutputBuffersChanged just for consistency
with processOutputBuffer and processOutputFormat.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120811608
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
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
Now uses buffer position + limit in both new and legacy modes.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120713837
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
- 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
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
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
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
This CL provides the necessary infrastructure to add styling by class. This was separated
into two different CLs to ease reviewing.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120336976
This can occur in some Broadcast Wave Format (BWF) files, such as those
produced by the Zoom H2n. See the included sample for an example.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120334117
- RollingSampleBuffer -> DefaultTrackOutput
- TsChunk -> HlsMediaChunk
- Established hls.playlist package for HLS playlist things
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120325049
Notes:
- RollingSampleBuffer will be renamed DefaultTrackOutput in a
following CL, and variable naming will be sanitized.
- TsChunk will also be renamed to HlsMediaChunk, since it can
be used for non-TS containers (e.g. MP3).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120240243
This also fixes the largest queued timestamp to be the
correct value if upstream samples are discarded.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120207054
At this point the only reason preventing the chunk package
from using RollingSampleBuffer directly, rather than
DefaultTrackOutput, is that the latter maintains the largest
parsed timestamp. This will be pushed inside the former in
the next CL. Following that, splicing logic will also be
pushed inside of RollingSampleBuffer, and HLS will be moved
over to using a single RollingSampleBuffer per track, with
the splicing done inline.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120206658
- Rename preparePlayer to initializePlayer, to reflect the fact that the
preparing state is gone. Replace playerNeedsPrepare with playerNeedsSource.
- playWhenReady is now always true in calls to initializePlayer.
- Handle the intent just before setting the source.
- Use URIs consistently instead of Strings to avoid reparsing.
- onShown becomes initializePlayer.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120125576
This is the first step toward merging of RollingSampleBuffer
and DefaultTrackOutput, which is a precursor to removing some
indirection for DASH/SS playbacks, and to moving HLS playbacks
to use a single output buffer per track (with inline splicing).
Where this is heading is that sample format changes will
eventually be attached to samples in the rolling buffer. This
will eliminate the need for piping sample formats around the
edges of the rolling buffer (e.g. via redirection in
ChunkExtractorWrapper and BaseMediaChunk.getSampleFormat).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120123093
There's a more nuanced version of this where we actually
disable on the loading side, but it's quite tricky to get
the threading just right. I have a change that I'll
probably manage to clean up and send out at some point.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120106967
- Use same constant for unknown/unset microsecond times/durations.
- Change constant values to be nowhere near the "normal" range.
- Misc cleanup.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119944019