diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..d838da98 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +examples/ diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 00000000..3179b082 --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,60 @@ +# Configuration for probot-stale - https://github.com/probot/stale + +# Number of days of inactivity before an Issue or Pull Request becomes stale +daysUntilStale: 60 + +# Number of days of inactivity before an Issue or Pull Request with the stale label is closed. +# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. +daysUntilClose: 3 + +# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled) +onlyLabels: [] + +# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable +exemptLabels: + - pinned + - security + +# Set to true to ignore issues in a project (defaults to false) +exemptProjects: true + +# Set to true to ignore issues in a milestone (defaults to false) +exemptMilestones: true + +# Set to true to ignore issues with an assignee (defaults to false) +exemptAssignees: true + +# Label to use when marking as stale +staleLabel: stale + +# Comment to post when marking as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. If you are having a similar problem, please open a + new issue and reference this one instead of commenting on a stale or closed + issue. + +# Comment to post when removing the stale label. +unmarkComment: false + +# Comment to post when closing a stale Issue or Pull Request. +closeComment: false + +# Limit the number of actions per hour, from 1-30. Default is 30 +limitPerRun: 50 + +# Limit to only `issues` or `pulls` +only: issues + +# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls': +# pulls: +# daysUntilStale: 30 +# markComment: > +# This pull request has been automatically marked as stale because it has not had +# recent activity. It will be closed if no further activity occurs. Thank you +# for your contributions. + +# issues: +# exemptLabels: +# - confirmed diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..efe65552 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,10 @@ +name: ci +on: [push, pull_request] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + - run: yarn --no-lockfile + - run: yarn lint diff --git a/.gitignore b/.gitignore index 2ca6ff0b..ce0db63c 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ DerivedData *.ipa *.xcuserstate project.xcworkspace +Pods # Android/IJ # @@ -49,3 +50,7 @@ buck-out/ \.buckd/ android/app/libs android/keystores/debug.keystore + +# windows +Deploy.binlog +msbuild.binlog \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fdf4ea4..b5425575 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,53 @@ ## Changelog -- Add support for `onBufferProgress` on Android for getting buffer data even when the player is paused +### Version 6.0.0-alpha1 +- Support disabling buffering [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Fix AudioFocus bug that could cause the player to stop responding to play/pause in some instances. [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Fix player crashing when it is being cleared. [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Add support for customising back buffer duration and handle network errors gracefully to prevent releasing the player when network is lost. [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Allow player to be init before source is provided, and later update once a source is provided. [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Adds handling for providing a empty source in order to stop playback and clear out any existing content [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Add support for onBufferProgress prop on Android to get buffer data even when the player is paused. [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Add support for detecting if format is supported and exclude unsupported resolutions from auto quality selection and video track info in RN. [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Improve error handling [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Add support for L1 to L3 Widevine fallback if playback fails initially. [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Reduce buffer size based on available heap [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Force garbage collection when there is no available memory [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Improve memory usage [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Support disabling screen recording [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Improved error capturing [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Fix DRM init crashes [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Improve progress reporting [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Fix progress loss when network connection is regained [#2689](https://github.com/react-native-video/react-native-video/pull/2689) +- Add Google's maven repository to avoid build error [#2552](https://github.com/react-native-video/react-native-video/pull/2552) +- Fix iOS 15.4 HLS playback race condition [#2633](https://github.com/react-native-video/react-native-video/pull/2633) +- Fix app crash from NPE in Exoplayer error handler [#2575](https://github.com/react-native-video/react-native-video/pull/2575) +- Fix default closed captioning behavior for Android ExoPlayer [#2181](https://github.com/react-native-video/react-native-video/pull/2181) +- Disable pipController init if pictureInPicture is false [#2645](https://github.com/react-native-video/react-native-video/pull/2645) +- Make sure modifiers are applied before playing [#2395](https://github.com/react-native-video/react-native-video/pull/2395) +- Better support newer versions of RNW (64 and newer) [#2535](https://github.com/react-native-video/react-native-video/pull/2535) +- Fix nil string uri parameter error [#695](https://github.com/react-native-video/react-native-video/pull/695) +- (Breaking) Bump shaka-player to 3.3.2 [#2587](https://github.com/react-native-video/react-native-video/pull/2587) +- Improve basic player example on android [#2662](https://github.com/react-native-video/react-native-video/pull/2662) +- Ensure we always use `hideShutterView` before showing the `shutterView` on Android [#2609](https://github.com/react-native-video/react-native-video/pull/2609) +- Convert iOS implementation to Swift [#2527](https://github.com/react-native-video/react-native-video/pull/2527) +- Add iOS support for decoding offline sources [#2527](https://github.com/react-native-video/react-native-video/pull/2527) +- Update basic example applications (React Native 0.63.4) [#2527](https://github.com/react-native-video/react-native-video/pull/2527) +- Fix volume reset issue in exoPlayer [#2371](https://github.com/react-native-video/react-native-video/pull/2371) -- Fix Android AudioFocus bug that could cause player to not respond to play/pause in some instances [#2311](https://github.com/react-native-video/react-native-video/pull/2311) +### Version 5.2.0 + +- Fix for tvOS native audio menu language selector +- Update ExoPlayer to allow pre-init and content clear [#2412] (https://github.com/react-native-video/react-native-video/pull/2412) +- iOS rate is reset to 1.0 after play/pause [#2167] (https://github.com/react-native-video/react-native-video/pull/2167) +- Upgrade ExoPlayer to 2.13.2 [#2317] (https://github.com/react-native-video/react-native-video/pull/2317) +- Fix AudioFocus pausing video when attempting to play [#2311] (https://github.com/react-native-video/react-native-video/pull/2311) ### Version 5.1.0-alpha9 - Add ARM64 support for windows [#2137](https://github.com/react-native-community/react-native-video/pull/2137) +- Fix deprecated API bug for windows [#2119](https://github.com/react-native-video/react-native-video/pull/2119) +- Added `rate` property and autolinking support for windows [#2206](https://github.com/react-native-video/react-native-video/pull/2206) ### Version 5.1.0-alpha8 diff --git a/DRMType.js b/DRMType.js index 473536b2..d873bd69 100644 --- a/DRMType.js +++ b/DRMType.js @@ -2,5 +2,5 @@ export default { WIDEVINE: 'widevine', PLAYREADY: 'playready', CLEARKEY: 'clearkey', - FAIRPLAY: 'fairplay' + FAIRPLAY: 'fairplay', }; diff --git a/README.md b/README.md index eb0b7fa1..2e244b94 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ ## react-native-video +[![ci][4]][5] + A `