I'm going to introduce an EmptySampleStream that will be used in
some cases in conjunction as part of 608/EMSG support. This change
avoids EmptySampleStream having to provide a dummy format.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148383831
At the end of playback, BufferProcessors need to be drained to process all
remaining data, then the output needs to be written to the AudioTrack before
stop() is called.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148339194
This allows the TsExtractor to automatically determine the
closed caption tracks to expose by parsing available
descriptors.
Issue:#2161
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148321380
This allows BufferProcessors to partially and/or asynchronously handle
input/output. Document contract for queueInput and getOutput.
Update ResamplingBufferProcessor to use the new interface.
Separate submitting bytes vs. writing data to the AudioTrack.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148212269
This CL allows passing multiple formats describing CC channels to the
TS payload reader factory. As a simple usecase, ATSC can expose both
608 channels by passing a two element list with the corresponding
accessibility channels. The HLS media source can construct this list
from the EXT-X-MEDIA:TYPE="CLOSED-CAPTIONS" tags, including language
and selection flags. The interface extends without modification to
708.
Pending work:
* Multiple CC channels in HLS.
* caption_service_descriptor parsing for overriding the user's selection.
* 708 support in SEI reader.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148030293
This avoids breaking the player if the first variant is not
supported by the device.
Issue:#2353
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148025791
InitializationChunk calls init(null). When the initialization and index data is separate they need to
be loaded separately which results to two init(null) calls.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147837985
I've also added a TODO to not even bother trying to parse CEA from
SEI NAL units if they're fully or partially encrypted, which it's
possible to determine in the FMP4 extractor.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147613979
SoftAAC2 would cause an exception to be thrown from
dequeueOutputBuffer/releaseOutputBuffer after queueing an end-of-stream buffer
for certain streams.
The bug was introduced in L and fixed in L MR1, so the workaround is targeted to
API 21.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147613659
The outputBuffer is not necessarily empty after a flush, so the assertion could
fail in normal usage. The assertion can just be removed as the output buffer is
rewritten in full on every call to handleBuffer.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147541016
- It's always fine to prefer the manifest drm init data. In
DASH we always do this anyway. In SS the manifest and sample
formats are identical.
- Optimized the case where the manifest and sample formats are
identical by avoiding the format copy.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147385282
Tab commands were being used cumulatively (i.e. moving the cursor farther and farther over) resulting in the text eventually trying to write beyond the bounds of the screen and throwing an exception.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146783284