diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000..b0312b3044 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,19 @@ +### Current behavior +Describe what happens when you encounter this issue. + +### Reproduction steps +A 1, 2, 3, etc. list of what's needed to see the issue happen. + +### Expected behavior +Describe what you wanted to happen + +### Platform +Which player are you experiencing the problem on: +* iOS +* Android ExoPlayer +* Android MediaPlayer +* Windows UWP +* Windows WPF + +### Video sample +If possible, include a link to the video that has the problem that can be streamed or downloaded from. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..5ee6f693c9 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,20 @@ +Thanks for opening a PR! +Since this is a volunteer project and is very active, anything you can do to reduce the amount of time needed to review and merge your PR is appreciated. +The following steps will help get your PR merged quickly: + +#### Update the documentation +If you've added new functionality, update the README.md with an entry for your prop or event. +The entry should be inserted in alphabetical order. + +#### Update the changelog +After you open the PR, update the CHANGELOG.md file with an entry pointing to your PR. + +#### Provide an example of how to test the change +If the PR requires special testing setup provide all the relevant instructions and files. This may include a sample video file or URL, configuration, or setup steps. + +#### Focus the PR on only one area +Testing multiple features takes longer than isolated changes and if there is a bug in one feature, prevents the other parts of your PR from getting merged until it gets fixed. +If you're touching multiple different areas that aren't related, break the changes up into multiple PRs. + +#### Describe the changes +Add a note describing what your PR does. If there is a change to the behavior of the code, explain why it needs to be updated. diff --git a/.gitignore b/.gitignore index e38151d4d3..81c7dbd2f1 100644 --- a/.gitignore +++ b/.gitignore @@ -36,7 +36,13 @@ local.properties # node.js # node_modules/ -npm-debug.log +*.log + +# yarn +yarn.lock + +# editor workspace settings +.vscode # BUCK buck-out/ diff --git a/.npmignore b/.npmignore deleted file mode 100644 index 6f30a3aba9..0000000000 --- a/.npmignore +++ /dev/null @@ -1 +0,0 @@ -/example diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000..8e84036abd --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,61 @@ +## Changelog + +### Next Version +* Partial support for timed metadata on Android MediaPlayer [#707](https://github.com/react-native-community/react-native-video/pull/707) +* Support video caching for iOS [#955](https://github.com/react-native-community/react-native-video/pull/955) +* Video caching cleanups [#1172](https://github.com/react-native-community/react-native-video/pull/1172) +* Add ipod-library support [#926](https://github.com/react-native-community/react-native-video/pull/926/files) +* Fix crash on ExoPlayer when there are no audio tracks [#1233](https://github.com/react-native-community/react-native-video/pull/1233) +* Reduce package size [#1231](https://github.com/react-native-community/react-native-video/pull/1231) +* Remove unnecessary import in TextTrackType [#1229](https://github.com/react-native-community/react-native-video/pull/1229) +* Prevent flash between poster and video [#1167](https://github.com/react-native-community/react-native-video/pull/1167) +* Support react-native-dom [#1253](https://github.com/react-native-community/react-native-video/pull/1253) +* Update to ExoPlayer 2.8.2. Android SDK 26 now required [#1170](https://github.com/react-native-community/react-native-video/pull/1170) +* Update to ExoPlayer 2.8.4 [#1266](https://github.com/react-native-community/react-native-video/pull/1266) +* Add fullscreenOrientation option for iOS [#1215](https://github.com/react-native-community/react-native-video/pull/1215) +* Update to ExoPlayer 2.9.0 [#1285](https://github.com/react-native-community/react-native-video/pull/1285) +* Switch useTextureView to default to `true` [#1286](https://github.com/react-native-community/react-native-video/pull/1286) + +### Version 3.2.0 +* Basic fullscreen support for Android MediaPlayer [#1138](https://github.com/react-native-community/react-native-video/pull/1138) +* Simplify default Android SDK code [#1145](https://github.com/react-native-community/react-native-video/pull/1145) [#1146](https://github.com/react-native-community/react-native-video/pull/1146) +* Various iOS sideloaded text track fixes [#1157](https://github.com/react-native-community/react-native-video/pull/1157) +* Fix #1150 where assets with bundled assets don't work on iOS in release mode [#1162](https://github.com/react-native-community/react-native-video/pull/1162) +* Support configuring the buffer on Android ExoPlayer [#1160](https://github.com/react-native-community/react-native-video/pull/1160) +* Prevent sleep from sleeping while videos are playing on Android MediaPlayer [#1117](https://github.com/react-native-community/react-native-video/pull/1117) +* Update NewtonSoft JSON to match react-native-windows version [#1169](https://github.com/react-native-community/react-native-video/pull/1169) + +### Version 3.1.0 +* Support sidecar text tracks on iOS [#1109](https://github.com/react-native-community/react-native-video/pull/1109) +* Support onAudioBecomingNoisy on iOS [#1131](https://github.com/react-native-community/react-native-video/pull/1131) + +### Version 3.0 +* Inherit Android buildtools and SDK version from the root project [#1081](https://github.com/react-native-community/react-native-video/pull/1081) +* Automatically play on ExoPlayer when the paused prop is not set [#1083](https://github.com/react-native-community/react-native-video/pull/1083) +* Preserve Android MediaPlayer paused prop when backgrounding [#1082](https://github.com/react-native-community/react-native-video/pull/1082) +* Support specifying headers on ExoPlayer as part of the source [#805](https://github.com/react-native-community/react-native-video/pull/805) +* Prevent iOS onLoad event during seeking [#1088](https://github.com/react-native-community/react-native-video/pull/1088) +* ExoPlayer playableDuration incorrect [#1089](https://github.com/react-native-community/react-native-video/pull/1089) + +### Version 2.3.1 +* Revert PR to inherit Android SDK versions from root project. Re-add in 3.0 [#1080](https://github.com/react-native-community/react-native-video/pull/1080) + +### Version 2.3.0 +* Support allowsExternalPlayback on iOS [#1057](https://github.com/react-native-community/react-native-video/pull/1057) +* Inherit Android buildtools and SDK version from the root project [#999](https://github.com/react-native-community/react-native-video/pull/999) +* Fix bug that caused ExoPlayer to start paused if playInBackground was set [#833](https://github.com/react-native-community/react-native-video/pull/833) +* Fix crash if clearing an observer on iOS that was already cleared [#1075](https://github.com/react-native-community/react-native-video/pull/1075) +* Add audioOnly prop for music files [#1039](https://github.com/react-native-community/react-native-video/pull/1039) +* Support seeking with more exact tolerance on iOS [#1076](https://github.com/react-native-community/react-native-video/pull/1076) + +### Version 2.2.0 +* Text track selection support for iOS & ExoPlayer [#1049](https://github.com/react-native-community/react-native-video/pull/1049) +* Support outputting to a TextureView on Android ExoPlayer [#1058](https://github.com/react-native-community/react-native-video/pull/1058) +* Support changing the left/right balance on Android MediaPlayer [#1051](https://github.com/react-native-community/react-native-video/pull/1051) +* Prevent multiple onEnd notifications on iOS [#832](https://github.com/react-native-community/react-native-video/pull/832) +* Fix doing a partial swipe on iOS causing a black screen [#1048](https://github.com/react-native-community/react-native-video/pull/1048) +* Fix crash when switching to a new source on iOS [#974](https://github.com/react-native-community/react-native-video/pull/974) +* Add cookie support for ExoPlayer [#922](https://github.com/react-native-community/react-native-video/pull/922) +* Remove ExoPlayer onMetadata that wasn't being used [#1040](https://github.com/react-native-community/react-native-video/pull/1040) +* Fix bug where setting the progress interval on iOS didn't work [#800](https://github.com/react-native-community/react-native-video/pull/800) +* Support setting the poster resize mode [#595](https://github.com/react-native-community/react-native-video/pull/595) diff --git a/README.md b/README.md index e64916ca4f..7047f25327 100644 --- a/README.md +++ b/README.md @@ -3,37 +3,80 @@ A `