This is achieved by automatically registering a listener for child sources in
compositions. The composite media source has the chance to correct the
reported window index and media period id in the MediaLoadData of the events.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=189575414
Currently, whenever the clipping is updated, we move the time frame of the
clipped period to start at 0. This causes problems when we are already playing
this period and the renderer position does no longer match the stream
positions.
This change keeps the time frame of the clipped media period as it is and
instead specifies the offset of the window in the period.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=189570277
DefaultAudioSink had a lot of code related to tracking the position of the
underlying AudioTrack, and working around issues with the position APIs.
Move this code to a separate class responsible for position tracking. This is in
preparation for improving the audio timestamp polling behavior.
This change is intended not to cause any behavior changes.
Issue: #3841
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=189344743
This allows to test sending events when using fake media sources.
The FakeMediaSource now simulates a manifest load when being prepared.
And the FakeMediaPeriod simulates a media load when being prepared.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=189205285
*** Reason for rollback ***
This is breaking gradle sync with an error "Error:Cannot create variant 'android-lint' after configuration ':exo-library-core:debugRuntimeElements' has been resolved".
*** Original change description ***
Upgrade bintray-release and gradle versions
***
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=189171139
Currently, we are treating all codecs starting with "mp4a" as AAC. However,
some codec strings starting with "mp4a" are not AAC format, as should be
treated differently.
GitHub: #3779
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=189163517
This is a step towards factoring out position tracking functionality.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=189155624
This is a first step towards factoring out position tracking functionality.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=189027731
This allows to distinguish between media source events of multi-window and
multi-period media sources. In this change, only media sources currently reporting
events are changed. Proper support in composite sources will be added in a later
change.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188847366
We had these specified directly in AndroidManifest.xml due to
our internal build setup. This change makes our internal build
re-write AndroidManifest.xml to dynamically insert the required
values, meaning they no longer need specifying in each manifest.
Bonus 1: Internally built demo apps now include the CL number at
which they're built in the version name :).
Bonus 2: Removes lint warning that complains min/target SDK
values in the manifest are redundant.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188489115
This change also simplifies reporting the right media source events in a
future change.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188718504
We had these specified directly in AndroidManifest.xml due to
our internal build setup. This change makes our internal build
re-write AndroidManifest.xml to dynamically insert the required
values, meaning they no longer need specifying in each manifest.
Bonus 1: Internally built demo apps now include the CL number at
which they're built in the version name :).
Bonus 2: Removes lint warning that complains min/target SDK
values in the manifest are redundant.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188489115
This is achieved by moving the listener registration and the creation of the
event dispatcher into BaseMediaSource.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188461932
As it turns out there isn't much gain by subclassing
AbstractContentMetadata. Moved abstract onChange method to a listener
interface.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188353673
This allows to keep the same window sequence number if playback fails and
is then retried without resetting the position.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188339509
The value is increased to 50 seconds. With that the player can better handle
short network problems. This does NOT increase the maximum memory used as we
still apply the seperate DEFAULT_TARGET_BUFFER_BYTES.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188335603
When creating a new AC-3 passthrough AudioTrack the position
may advance from an old AudioTrack's position. The workaround
checked for the playback head position returning to zero, but
a subsequent change meant that we'd always start writing data
to the new track immediately (rather than waiting for its
position to 'stabilize' at zero).
Fix the issue by using the AudioTrack position directly. (Nb.
this doesn't handle the case of the stale position before
unwrapping being zero, but it is very unlikely to occur.)
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188319795
Also simplified shouldContinueLoading condition code and added a builder for DefaultLoadControl.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188306213
- Change 'compile' configuration (deprecared) to using 'implementation'
and 'api' configurations instead.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=187311778