- The package is renamed to avoid conflicts with v1, should any
app wish to include both v1 and v2 for a period of time. This is
similar to the approach used by some other open source projects
(e.g. okhttp).
- Copyright year is updated everywhere for completeness.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=126895326
- Event listener is now at the SampleSource level, since the
individual ChunkTrackStream instances are created internally.
- Event listener receives events corresponding to loads made
at the SampleSource level (e.g. manifest fetches) in addition
to those made by the ChunkTrackStream instances.
- Added ability for FormatEvaluators to propagate arbitrary
information (as an Object) through to the listeners. This was
a request from YouTube.
- Added significantly more information to each event, for example
the DataSpec that defines the load being made is now passed, as
is timing information.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=124732984
Things like manifests are loaded not in the context of a Chunk,
but we want to eventually be reporting all loading events. So
it makes senes to define data types at a global level.
Also added {@code} in a few places for consistency.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=124549737
Where multiple messages are required to be sent in order
to perform a player reconfiguration, it will usually be
desirable to process all messages in a single "transaction"
(i.e. without any rendering happening when only some of
the messages have been applied).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=123228334
This should be a no-op change, but it seems sensible to
have them not overlap.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=123208140
- Simplify setSurface by always blocking when the surface
is being cleared.
- Add analogous setVolume API.
- Support setting of playback params for extension audio
decoders. We can probably use this to add a setPlaybackRate
API to SimpleExoPlayer for API level 23 and above only,
but we'd probably want to make sure it works properly when
there's no audio track too, so some thought will be
required.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=123204581
- 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
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
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
- 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
Also use MediaCodec buffer flag constants instead of those on MediaExtractor.
This is in preparation for merging InputBuffer and SampleHolder.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117810136
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
Try re-sync'ing to the next level 1 element when invalid data is found. This
corrects the behavior for test case 4 in the mkv test suite.
Partially Fixes Issue #631
They're current location is annoying, because it creates a dependency
from the dash package to the webvtt package. For apps like Play Movies
where WEBVTT isn't used, it's nice just to delete the whole package at
import time, which requires that this dependency be removed.
The OMX component needs to be configured with a format that has a
MIME type of audio/raw. Remove Ac3PassthroughAudioTrackRenderer,
which is no longer used.
Plus start to properly document the SmoothStreaming package.
Note that where the documentation is a little vague, this is
because the original SmoothStreaming documentation is equally
vague!
2. Common interface for manifest parsers.
- This effectively moves the common interface from the Fetcher level
(i.e. ManifestFetcher) to the Parser level (i.e. ManifestParser).
- The motivation here is to allow the implementation of components that
can work with a generic ManifestParser implementation.