From 3d00c6bbf4e5f63c1c28b0400f46e70744b0dd61 Mon Sep 17 00:00:00 2001 From: Andrew Jack Date: Sat, 8 Oct 2016 21:48:21 +0100 Subject: [PATCH] ExoPlayer --- README.md | 3 +- Video.js | 28 +- android-exoplayer/README.md | 47 ++ android-exoplayer/build.gradle | 20 + .../src/main/AndroidManifest.xml | 3 + .../exoplayer/AspectRatioFrameLayout.java | 143 +++++ .../brentvatne/exoplayer/DataSourceUtil.java | 70 +++ .../brentvatne/exoplayer/ExoPlayerView.java | 226 +++++++ .../RawResourceDataSourceFactory.java | 20 + .../exoplayer/ReactExoplayerView.java | 553 ++++++++++++++++++ .../exoplayer/ReactExoplayerViewManager.java | 160 +++++ .../com/brentvatne/exoplayer/ResizeMode.java | 63 ++ .../exoplayer/VideoEventEmitter.java | 184 ++++++ .../brentvatne/react/ReactVideoPackage.java | 29 + .../receiver/AudioBecomingNoisyReceiver.java | 39 ++ .../receiver/BecomingNoisyListener.java | 13 + .../src/main/res/values/strings.xml | 12 + android/build.gradle | 2 +- android/src/main/res/values/styles.xml | 8 - example/.flowconfig | 8 +- example/android/app/build.gradle | 5 +- .../java/com/videoplayer/MainApplication.java | 36 +- example/android/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 3 +- example/android/settings.gradle | 11 +- example/index.android.js | 101 ++-- example/index.ios.js | 10 +- .../ios/VideoPlayer.xcodeproj/project.pbxproj | 13 +- example/ios/VideoPlayer/Info.plist | 2 +- example/package.json | 8 +- ios/RCTVideo.h | 1 + ios/RCTVideo.m | 2 + ios/RCTVideoManager.m | 1 + 33 files changed, 1736 insertions(+), 90 deletions(-) create mode 100644 android-exoplayer/README.md create mode 100644 android-exoplayer/build.gradle create mode 100644 android-exoplayer/src/main/AndroidManifest.xml create mode 100644 android-exoplayer/src/main/java/com/brentvatne/exoplayer/AspectRatioFrameLayout.java create mode 100644 android-exoplayer/src/main/java/com/brentvatne/exoplayer/DataSourceUtil.java create mode 100644 android-exoplayer/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java create mode 100644 android-exoplayer/src/main/java/com/brentvatne/exoplayer/RawResourceDataSourceFactory.java create mode 100644 android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java create mode 100644 android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerViewManager.java create mode 100644 android-exoplayer/src/main/java/com/brentvatne/exoplayer/ResizeMode.java create mode 100644 android-exoplayer/src/main/java/com/brentvatne/exoplayer/VideoEventEmitter.java create mode 100644 android-exoplayer/src/main/java/com/brentvatne/react/ReactVideoPackage.java create mode 100644 android-exoplayer/src/main/java/com/brentvatne/receiver/AudioBecomingNoisyReceiver.java create mode 100644 android-exoplayer/src/main/java/com/brentvatne/receiver/BecomingNoisyListener.java create mode 100644 android-exoplayer/src/main/res/values/strings.xml delete mode 100644 android/src/main/res/values/styles.xml diff --git a/README.md b/README.md index 4b020e6291..943cc8d8ca 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,7 @@ using System.Collections.Generic; onProgress={this.setTime} // Callback every ~250ms with currentTime onEnd={this.onEnd} // Callback when playback finishes onError={this.videoError} // Callback when video cannot be loaded + onBuffer={this.onBuffer} // Callback when remote video is buffering style={styles.backgroundVideo} /> // Later to trigger fullscreen @@ -250,7 +251,7 @@ Toggles a fullscreen player. Access using a ref to the component. - [ ] Add support for captions - [ ] Add support for playing multiple videos in a sequence (will interfere with current `repeat` implementation) -- [ ] Callback to get buffering progress for remote videos +- [x] Callback to get buffering progress for remote videos - [ ] Bring API closer to HTML5 `