- 20 Feb, 2018 12 commits
-
-
When using cronet data source, calling read after the end of input has been read will trigger this. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184667794
aquilescanta committed -
This feature is supported in the ConcatenatingMediaSource and is easily copied to this media source. Also adding tests to check whether the atomic property works in normal concatenation and in also in nested use. Also fixes a bug where timeline methods of the DeferredTimeline were not correctly forwarded. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184526881
tonihei committed -
This could happen when a media source is removed from a DynamicConcatenatingMediaSource and one of its media periods is still active. This media period is only removed by the player after the player received a timeline update and thus we shouldn't release the removed child source as long as it has active media periods. Issue:#3796 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184522836
tonihei committed -
If IMA loads an empty VAST document for an ad group it notifies via a LOG AdEvent. Handle the event by updating the AdPlaybackState accordingly. The error state will be handled in ExoPlayerImplInternal in a separate change. Issue: #3584 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184516585
andrewlewis committed -
Resolve the media period for ad playback when resolving a subsequent period and when receiving a timeline where the playing period in range (but wasn't before). Fix the seek position calculation when a current ad must be skipped and is followed by another ad. Check MediaPeriodInfos match when checking MediaPeriodHolders, to handle cases where a future ad should no longer be played. This may involve playing two content media periods consecutively. Issue: #3584 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184514558
andrewlewis committed -
DefaultExtractorInput.SCRATCH_SPACE buffer is used to skip data by reading it into this buffer and discarding. Simultaneous use of skip methods corrupts this buffer. Normally the read data is discarded so it doesn't matter but the underlying DataSource may use the buffer too. If it's a CacheDataSource it uses this buffer to read data from upstream then write to cache. Issue: #3762 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184502170
eguven committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184501752
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184317120
anjalibh committed -
This avoids reading a format that is not equal because of switching between NO_VALUE and 0. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184298076
andrewlewis committed -
This makes assertion errors in code running on the Looper less easy to miss. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184294290
andrewlewis committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184274139
andrewlewis committed -
This should be a no-op change. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184150266
andrewlewis committed
-
- 01 Feb, 2018 28 commits
-
-
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184125114
olly committed -
Even if a developer synchronizes every method, thread safety is still not guaranteed because the internal callback methods can't be synced from outside. Issue:#3773 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184122072
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184122057
olly committed -
1. Add string for STATE_CANCELED. Lint doesn't like that the switch statement on the state IntDef doesn't have a case for STATE_CANCELED. May as well add one, even if we're not planning on our demo app showing notifications for this state. 2. Replace non-human-readable error message with one provided by ErrorMessageProvider. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184120892
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184120873
olly committed -
In the case of the components we deliberately access via reflection, it's normal that they might not be resolved due to proguarding (i.e. if the app isn't being built to include them). Don't note their omission. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184120611
olly committed -
The pending exception will be thrown upon returning to Java from native, but we should return early rather than continuing to execute the native method to the end so as to avoid undefined behavior. Note that the return value is irrelevant (because the pending exception will be thrown). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184119606
olly committed -
Lint recommends switching to SparseArray<X> instead. This is done for the DASH case. For the Cast case it's easier to use a switch statement. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184119312
olly committed -
Note this case is special in that JUnit is an actual compile dependency, as opposed to a testCompile or androidTestCompile dependency. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184119235
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184119097
tonihei committed -
I think (?) they're harmless, but lint doesn't like them. Using them within the class body means the TargetApi annotation applies, which makes lint happy. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184117951
olly committed -
In MediaCodecRenderer, we currently uses codec.getInput/OutputBuffers event though these APIs are deprecated and are not recommended from API 21+. This change makes sure that: - On API 20 and below, we will keep using codec.getInput/OutputBuffers. - On API 21+, we will use getInput/OutputBuffer(index) APIs instead. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184112329
hoangtc committed -
*** Reason for rollback *** Broke everything *** Original change description *** Clean up message naming in EPII *** ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184061352
olly committed -
This applies when PlayerControlView is used as a standalone component (not inside PlayerView). Previously hideAtMs was set to 0, which caused the view to be immediatley hidden in onAttachedToWindow. After this change the first time the view is attached to the window is effectively treated as a "user interaction" for the purposes of deciding when to timeout. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184056324
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184056034
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184022988
strobe committed -
This make sure all media sources can be reprepared after being released. Issue:#3498 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183990416
tonihei committed -
When the dynamic media source contains multiple empty timelines in a row and some of them dynamically change to a non-empty timeline, the window and period indices are not updated correctly because the index of the changed child source is wrong. To fix this bug, the child index is added to the media period holder to have direct access on the current child index to prevent ambiguity. Furthermore, the uid is changed to be the hash code of the MediaSourceHolder not the MediaSource itself to allow adding the same MediaSource twice without violating the unique uid policy. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183973462
tonihei committed -
Simplifies the app and prevents inconsistent states between both players and the media queue. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183831329
aquilescanta committed -
Also fixes a bug where deferred media periods were kept in the list for an unprepared media source although the media period was already released. Issue:#3498 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183800889
tonihei committed -
This enables caching manifest files for DASH, HLS and SmoothStreaming. To disable caching a non cache DataSource should be provided for reading manifest to the used MediaSource. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183794252
eguven committed -
In startReadWrite*() methods a new CachedContent is created if the there isn't one already for the given key. If the span is release without writing any content, this fix removes the added CachedContent. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183666821
eguven committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183656655
eguven committed -
Before this change, the ad playback state stored the number of played ads in each ad group. There was no way to represent that an ad had failed to load (and it wouldn't be possible just to increment the played ad count to signal a load error because there might be an unplayed ad before the ad that failed to load). Represent the state of each ad (unavailable, available, skipped, played, error) in each ad group. In a later change the player will use this information to update its loaded MediaPeriods in response to future ads failing to load. Also make the AdPlaybackState immutable and remove copying/duplication of its fields in the ad timeline and period. Issue: #3584 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183655308
andrewlewis committed -
For our strings to be translated, we're required to provide added context in the form of a description, and specify a maximum length for the translated strings. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183651515
olly committed -
Issue:#3498 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183648419
tonihei committed -
1. When we try and load something via reflection and find the class, always throw rather than failing silently if we subsequently fail to instantiate an instance. This is indicative of a broken proguard setup, and failing silently makes it hard to spot. 2. Add library/core proguard configuration to ensure extension renderer constructors that we access via reflection are kept. 3. Add demos/main proguard configuration to ensure ImaAdsLoader constructor that we access via reflection is kept. 4. Added IMA proguard file to hopefully fix #3723, although I wasn't actually able to reproduce the issue. Issue: #3723 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183648187
olly committed -
- Renderers becoming ready is asynchronous, so the change wasn't well thought through :(. - This will bring back the possibility of getting stuck in the buffering-but-not-loading anything state. This will need to be addressed in a future CL. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183646837
olly committed
-