- 08 May, 2017 4 commits
-
-
Added repeat mode toggle buttons to UI. Current mode gets forwarded to Exoplayer instance, but without playback behaviour changes yet. Translations for button descriptions are also missing - this will be another CL. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155386549
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155386511
tonihei committed -
Based on https://github.com/waywardgeek/sonic/commit/7b441933. Issue: #2774 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155349817
andrewlewis committed -
The default byte order for ByteBuffers is big endian, but platform decoder output buffers use native byte order. AudioProcessors handle native byte order input/output. When using a software audio decoding extension the Sonic audio processor would receive big endian input but was outputting to a native byte order buffer, which could be little endian. This mismatch caused audio output to be distorted. After this change both platform decoder and extension decoder output buffers should be in native byte order. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155320973
andrewlewis committed
-
- 05 May, 2017 2 commits
-
-
If the codec isn't adaptive, there's no need to accommodate the width/height/input-size of streams that don't have the same resolution as the current stream. This is because we'll always need to instantiate a new codec anyway. Issue: #2607 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155194458
olly committed -
Issue:#2743 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155182859
aquilescanta committed
-
- 04 May, 2017 13 commits
-
-
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155103828
olly committed -
Related to GitHub Issue #2577. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155078753
tonihei committed -
(Relating to GitHub Issue #2577) All getter, setter and callbacks have been added and value of repeatMode is passed to getNextXXXIndex methods. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155071985
tonihei committed -
Issue:#2773 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155062917
aquilescanta committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155062718
aquilescanta committed -
A DummySurface is useful with MediaCodec on API levels 23+. Rather than having to release a MediaCodec instance when the app no longer has a real surface to output to, it's possible to retain the MediaCodec, using MediaCodec.setOutputSurface to target a DummySurface instance instead. When the app has a real surface to output to again, it can call swap this surface back in instantaneously. Without DummySurface a new MediaCodec has to be instantiated at this point, and decoding can only start from a key-frame in the media. A future change may hook this up internally in MediaCodecRenderer for supported use cases, although this looks a little awkward. If this approach isn't viable, we can require applications wanting this to set a DummySurface themselves. This isn't easy to do with the way SimpleExoPlayerView.setPlayer works at the moment, however, so some changes will be needed either way. Issue: #677 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154931778
olly committed -
Looper.myLooper(), the default looper, may be null in background threads. This adds a fallback to use the main app looper. This will allow ExoPlayer instances to be built in background threads in Photos. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154845446
falhassen committed -
Add attributes for the scrubber handle color and unplayed color. If attributes are missing, derive defaults from the played color. Issue: #2740 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154825736
andrewlewis committed -
When using the CronetEngine.Builder class, it automatically selects the Cronet version preferring higher version codes and falling back to a Java Http implementation if no native or GMSCore version is available. This version selection has now been moved into the CronetEngineFactory class to always prefer GMSCore over natively bundled versions. We also ignore the Cronet internal Java implementation. Instead, users of CronetDataSourceFactory can provide their own fallback factory. If none is provided, we use DefaultHttpDataSourceFactory. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154821040
tonihei committed -
Using the new getNextWindowIndex method of Timeline, LoopingMediaSource now uses a InfinitelyLoopingTimeline which does not unroll the windows to 157 million iterations but just starts from the beginning. If an explicit number of iterations is given, we still unroll. This change also allows multi-window timebars to show infinitely looping playlists correctly. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154817554
tonihei committed -
The blaze BUILD file for the Cronet extension now has three options: Using native bundled Cronet libs, using GMSCore, or using whichever is newer. The GMSCore version is preselected (as it is the smallest), but other variants may be used by uncommenting the respective lines. The API is the same for all cases and the CronetEngine.Builder automatically selects the newest option or falls back to default http. To avoid that apps using this extension need to add a dependency to Cronet themselves, I added a CronetEngineFactory to the Exoplayer extension. Gradle builds can't be supported (as far as I can see), as the GMSCore Cronet version is first party only. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154812029
tonihei committed -
(Preparation for Repeat Toggle Function - GitHub Issue #2577) In addition, Timeline now also got a getPreviousWindowIndex and a getNextPeriodIndex method with default implementations. Changed ExoPlayerImplInternal and PlaybackControlView to use these methods at all occurances of period and window index operations. Note: Does not include repeat mode yet and no timelines are actually using it so far. Please wait for the next CLs for this. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154520664
tonihei committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154421706
aquilescanta committed
-
- 26 Apr, 2017 7 commits
-
-
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154298148
olly committed -
To inject custom renderers into SimpleExoPlayer, developers currently need to extend SimpleExoPlayer and override the renderer building methods. This is in contrast to the rest of the library, where we use proper injection. This change restores consistency. I think it's fine to make SimpleExoPlayer final again, but if we find people extending it for non-renderer purposes, we can revert that part of the change. ExoPlayerFactory now has analogous methods for the simple and non-simple cases, which is a nice outcome. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154295726
olly committed -
When using a multi window time bar, the onScrubStop method uses another method to estimate the seek position than the updateProgress method for rendering the time bar. If the time line contains windows starting with an ad period followed by other content, they differ in their behaviour. - updateProgress checks all periods and leaves out all ad periods - onScrubStop only checks windows and leaves them out when the first period is an ad. Changed onScrubStop to fit approach in updateProgess. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154271628
tonihei committed -
Without this, newer android NDKs (r14+) fail to compile. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154271517
vigneshv committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154201059
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154198359
olly committed -
Disable libjpeg dependency when building libyuv. Partially fixes Github Issue #2661 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154179126
vigneshv committed
-
- 25 Apr, 2017 4 commits
-
-
Oliver Woodman committed
-
Fixes the following issues: 1. When a surface is set, it's expected that the renderer will notify video size + when a frame is rendered to it. This is true even if the surface isn't changing. Right now this is achieved by setting renderedFirstFrame to false, but this is problematic in the case that the surface isn't changing because (a) it will force rendering of a subsequent frame to the output even when paused, which is incorrect, and (b) isReady will return false until this occurs. 2. When the surface really is changing, isReady can return false until the first frame has been rendered into the new surface, which will break seamless surface switching. This change allows isReady to return true up to allowedJoiningTimeMs for this case. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154171111
olly committed -
* colorSpace, colorRange and colorTransfer are relevant to all videos. * The rest of the fields are relevant only to HDR videos. * Tested on a prototype device that decodes VP9 profile 2, 10 bit. * The Webm spec spells color as 'colour' so the webm id reference use the same spelling. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154098189
anjalibh committed
-
- 24 Apr, 2017 8 commits
-
-
This prevents illegal casts. Issue:#2702 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154078240
aquilescanta committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154077149
olly committed -
Prior to this change, the only way to switch SimpleExoPlayerView was to do: oldView.setPlayer(null); newView.setPlayer(player); This would cause the video renderer to have to transition through oldSurface->noSurface->newSurface, which is inefficient (noSurface requires platform decoders to be fully released). After this change we support: newView.setPlayer(player); oldView.setPlayer(null); This results in direct oldSurface->newSurface transitions, which are seamless on Android M and above. The change also adds some robustness against developers ending up with strange behavior as a result of clearing the player from a view in a different ordering than we expect w.r.t. registering of other listeners. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154044976
olly committed -
Issue: #2501 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154036726
olly committed -
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=153858804
tasnimsunny committed -
Oliver Woodman committed
-
Oliver Woodman committed
-
Merge branch 'dev-v2-dvbsubs-leftovers' of git://github.com/tresvecesseis/ExoPlayer into tresvecesseis-dev-v2-dvbsubs-leftovers
Oliver Woodman committed
-
- 21 Apr, 2017 2 commits
-
-
Oliver Woodman committed
-
Added mp3 support to FLV extractor
ojw28 committed
-