This could cause us to "lose" allocations backed by an
initial block, meaning they became unavailable for use
despite still being allocated.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=131931465
- Centralise compileSdkVersion, targetSdkVersion and
buildToolsVersion in a single place for gradle.
- Bump compileSdkVersion and targetSdkVersion to 24.
- Bump com.android.tools.build version to re-enable
instant start.
- Bump targetSdkVersion in manifests (needed for
internal builds).
- Use standard expandable_list_item from Android in
the demo app, since ours doesn't look right when
targeting API level 24. We were also setting the
theme on the wrong element in the manifest, so I'm
removing that line.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=131929216
- The need to pass a Clock is pretty much only for testing, so
make the constructor that takes one package private + use
the system clock for public constructors.
- Add default timeout values.
- Also make sure we set Content-Type in all license requests,
since when using Cronet the stack requires it to be set.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=131404298
This is done through the bitstream id field and allows removing
the isEac3 parameter from the constructor.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=131393477
If they're omitted, it's reasonable to assume it's because
they were uninteresting (i.e. sample data always tightly
packed at the start of the mdat). This is an issue for some
SmoothStreaming streams.
We actually already play such streams successfully, but
that's only due to another bug to be fixed in a following CL.
The same is true for V1, but given the low impact nature,
the fix will be V2 only.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=131191975
If currentTrackBundle is updated at the start of the
block and then something goes wrong in the middle (e.g.
one of the skipFully calls) then the extractor wont
resume from the correct place.
This would be caught by our extractor tests if we had
a test sample that requires skipping to the sample data.
I'll try and construct one of those.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=131191174
- The -1 needs to be a 0. My bad.
- Create AAC CSD if not defined in manifest, like in V1.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=131190995
Also tweak how the null checks happen in a few DataSource
implementations (should be no-op changes, but allow you
to look at close() and be happy it does the right thing
without having to loop at the open() implementations).
Issue: #1759
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=131172427
There's still some internal to clean up to do, and in particular
it remains a TODO to be able to handle seek calls before the
timeline is set (for this CL, such calls are dropped). This change
does however finalize the API.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=131171318
Fix the calculation of the seek window for multi-period DASH.
Snap the default initial position back to the start of its segment, to ensure
that the first sample provided when transitioning to a DASH live source is a
key-frame.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=131052912
- Remove playingPeriodEndPositionUs. It doesn't look like it's
required.
- Rename time variables to make it clearer what they are.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=131027164
Window is potentially confusing with Android's Window class.
Once Window is renamed, it makes sense to rename Timeline too.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=130938392
Also inline a few methods/classes where they can be made
private and therefore be removed from the public API.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=130935090
Mainly, this allows the extractor to expose multiple audio tracks.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=130928152
- Use a single constant for unset/unknown times across
all time bases. Note also that this moves away from
use of -1 for unset/unknown times in ms, which was a
bad choice (it might conflict with real times, such
as a time representing being just behind the start
of a live window).
- Add a few other unset constants, and use them.
- Fix some hardcoding of -1 where existing constants
should have been used.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=130775594
- Remove getNewPlayingPeriodIndex from MediaSource
- Remove all absolute references to period indices from
Window. Their existence prevents ConcatenatingMediaSource
from being able to efficiently handle children with
large numbers of entries (e.g. a cursor backed source),
since it would copy all windows into its merged timeline.
- Fix ExoPlayerImplInternal to attempt a restart in the
case that the loading (but not yet prepared) period is
removed, in absence of a playing period.
- Implement logic for finding the "next" period in the old
timeline when attempting a retry.
Removing some of the nasty US<->MS conversions left as a
virtual TODO.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=130659973
Period transitions can either be to new windows (in which case the default
position for the new window should be loaded) or to the next period of the
current window (in which case the the new period should be played from zero).
Fix the logic for calculating the new period index to load to implement this.
In processManifest, periodsById may contain periods that have been removed from
the manifest, which are still being used by the player (it releases periods on
receiving the source info refresh after processManifest returns). Ignore
periods that have been removed from the manifest when calling updateManifest.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=130626441