- 27 Mar, 2018 40 commits
-
-
Currently, MediaPeriod states that continueLoading may be called during preparation. Some implementations would throw an error if this happened. Also make MediaPeriod documentation clearer. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190596870
aquilescanta committed -
💨 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190591835
aquilescanta committed -
If the AudioTimestamp was sampled before play() was called, it was incorrectly returned to the caller for sanity-checking. Fix this behavior by dropping the timestamp internally in the AudioTimestampPoller. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190584412
andrewlewis committed -
This change enables feeding decoders from the closest sync frame before a specified seek position, where-as previously we'd always feed decoders from the start of the chunk. This avoids decoding and discarding many audio samples during each seek. The same benefit also applies to video chunks containing more than one key-frame. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190539547
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190498206
olly committed -
This will allow SimpleExoPlayer to auto-register its own listener before the drm session manager is used to set-up the renderers. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190478174
tonihei committed -
This adds callbacks for creating, releasing, and starting to read from media periods. Such events allow listeners to keep a list of active media periods. This is useful to determine when no further events for a certain media period are expected. It also allows listeners to associate renderer events unambigiously with a reading media period. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190462717
tonihei committed -
And in ContentMetadata javadoc emphasize that it's a snapshot. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190461436
eguven committed -
This gives the MediaSourceEventListener API a consistent look when new methods are added which only have a window index and media period id. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190450270
tonihei committed -
Issue #4010 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190442962
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190236842
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190215051
aquilescanta committed -
This was only needed to ensure a ClippingMediaSource can provide samples from a key frame before the clipping start time. Now the ClippingMediaSource will not report negative timestamps, this workaround can be removed. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190045302
tonihei committed -
This will never happen in practice, since CEA608 shouldn't be encrypted (and we can't handle it if it is), but in theory appendSampleEncryptionData can be called, then skipFully can throw when applying the CEA608 transformation, then when retrying appendSampleEncryptionData will be called again for the same sample. appendSampleEncryptionData consumes from trackFragment.sampleEncryptionData, and so the second time around data is being consumed one sample ahead. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189931631
olly committed -
The ad events are independent of the other media source events. Also, registering the listener to the internal ad media sources will report the regular media source events twice: once directly (with a non-ad media period id) and once through the wrapping ads source (with the correct ad media period id). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189905561
tonihei committed -
Issue:#4006 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189896023
aquilescanta committed -
It's inserted before HttpDataSource as read only. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189815245
eguven committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189796293
eguven committed -
Also convert left side from milliseconds to microseconds for comparison ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189784833
cblay committed -
Add logic to poll AudioTimestamp at different rates depending on when playback starts and how the audio timestamp advances. This fixes a pause about 500 ms after starting playback that occurs on some devices and also makes our polling interval match the recommendations of the AudioTrack documentation. Issue: #3830 Issue: #3841 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189765200
andrewlewis committed -
When creating DeferredMediaPeriods, we don't know the actual timeline yet and thus the default position is also unknown. We can still forward the correct default position by forwarding it the deferred media period as soon as it becomes known. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189763460
tonihei committed -
Issue: #4001 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189722812
bachinger committed -
As part of pausing DefaultAudioSink, its position-related fields are reset. If the audio timestamp API was in use, this results in falling back to the getPlaybackHeadPosition API, which (on some devices) can lead to a jump in the reported position. Sample the position before pausing instead of after, to avoid this jump. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189713376
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189582319
andrewlewis committed -
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
tonihei committed -
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
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189562865
eguven committed -
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
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189323050
aquilescanta committed -
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
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189188071
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189186679
eguven committed -
*** 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
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189169899
eguven committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189166039
eguven committed -
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
hoangtc committed -
This is a step towards factoring out position tracking functionality. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189155624
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189153913
olly committed -
This is a first step towards factoring out position tracking functionality. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189027731
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=189000217
olly committed
-