- Enfroce read returns 0 if readLength==0 everywhere.
- Fixes and simplifications for CronetDataSource.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135138232
- Make read return 0 if readLength==0
- Return RESULT_END_OF_INPUT properly in the case that
bytesRemaining is unset (this was broken previously,
but only applies for assets > 2^31 bytes, so it's
unlikely anyone ever hit this issue)
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135136541
It'll be a TODO to clean up some of the commonality between
publishing this and the core library (e.g. the version number
should really be spec'd in one place only). Just getting this
submitted for now so that we don't lose track of how I created
https://bintray.com/google/exoplayer/extension-okhttp
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135102459
- Correctly null out streams[j] in the case that a renderer
is being disabled.
- Read discontinuities from all children, not just enabled
ones. This fixes a failure when reading a discontinuity
with all renderers disabled.
- Add in some assertions to make incorrect stream selection
failures obvious and immediate.
- Relocate subtitles so they're above the shutter (needed so
they continue to be visible when video is disabled but
text is still enabled).
Issue: #1854
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135089944
This CL adds support for initialization segments in HLS. This is required mainly for(but not limited to) usage of fMP4. The fMP4 support only consists in creating the required extractor if the extension is .mp4, provided the initialization segment is correctly
loaded and passed to the extractor.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134997636
This prevents a large amount of memory from being held
in the case that a player instance is released, but the
application is holding dangling references to the player
that are preventing it from being garbage collected.
Issue: #1855
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134992945
- Fix NPE issue in SingleSampleMediaPeriod.
- Delay handling of EOS in TextRenderer until the last
subtitle is fully played out.
Issue: #1882
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134979286
Currently this has only been tested with the RawCC container, though it should work with anything that makes use of SeiReader (i.e. MPEG2-TS) with minimal changes to SeiReader.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134781660
When reading the last period, the readingPeriodHolder was set to null in
updatePeriods if it was the last period. (This would occur almost immediately
when playing a single-period source.) seekToPeriodPosition suppresses reusing a
loaded/prepared period if the reading period and playing period did not match,
which meant that the whole timeline was recreated when seeking in the last
period.
Leave readingPeriodHolder non-null. This means that at all times either
playingPeriodHolder == readingPeriodHolder (and they could be null or
non-null), or playingPeriodHolder and readingPeriodHolder differ and are both
non-null.
Also fix an issue where streams were never forced to be recreated during track
reselection when reading ahead.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134774238
All of the classes in the text.eia608 package have been moved to
text.cea, and renamed with the "cea" prefix instead of "eia". All of
the buffering logic has been extracted from Cea608Decoder (formerly
Eia608Decoder) into the abstract CeaDecoder, which Cea608Decoder
extends. Cea608Decoder also now expects a 3-byte sample (i.e. the
entire cc_data_pkt instead of just the cc_data_1 and cc_data_2 bytes).
Classes like RawCcExtractor and SeiReader, responsible for creating
these samples, have also been updated accordingly.
This change is a necessary precursor to adding support for multi
-channel CEA-608 and CEA-708 captions.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134537482
This encourages a single invalidation when setting different parameters.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134436136
HlsSampleStreamWrapper and ExtractorMediaPeriod would call
onPrepared/onSourceInfoRefreshed from their loading threads. That was
problematic for ConcatenatingMediaSource and MergingMediaSource, which assume
that their callbacks are called on the same thread (iterating through timelines
from all sources and updating pendingTimelineSources respectively). This change
makes them post calls to the callbacks on the playback thread.
Generally, implementing a composite MediaSource is easier if
MediaPeriod.Callback's methods are all called on the same (playback) thread, so
this change makes that part of its contract.
Also post onContinueLoadingRequested from ExtractingLoadable because
MergingMediaPeriod.onContinueLoadingRequested reads trackGroups written on the
playback thread.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134407280
Eia608Decoder.
Full preamble positioning will be provided in a subsequent CL. This CL
also contains some minor cleanup in Eia608Decoder and adds some TODOs
to handle the second channel.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134299337
This solves the thread unsafety issue of the default track selector and
allows atomic configuration changes.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134288525
*** Reason for rollback ***
2.14.1 not compatible with 2.1.2. Oops.
*** Original change description ***
Upgrade gradle to 2.14.1
***
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133939282
Also add a test MP3 stream with one frame.
Make FakeExtractorInput's end of input detection to apply also for peekFully, and
make its skip and read methods read at least one byte.
Issue: #1732
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133241641
The four-arg constructor didn't exist in ViewGroup for
earlier API levels. I think it can probably be safely
omitted, unless you know otherwise?
Issue: #1820
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133156975