From 57c991363ba4d2f72ae788792c60ce506f6c954f Mon Sep 17 00:00:00 2001 From: olivier bouillet Date: Wed, 14 Sep 2022 23:55:14 +0200 Subject: [PATCH 1/4] doc: add link to side project and create a debugging page --- API.md | 10 +--------- README.md | 2 ++ docs/DEBUGGING.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ docs/PROJECTS.md | 9 +++++++++ 4 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 docs/DEBUGGING.md create mode 100644 docs/PROJECTS.md diff --git a/API.md b/API.md index d9153f77..01314ea8 100644 --- a/API.md +++ b/API.md @@ -1609,12 +1609,4 @@ allprojects { } ``` If you encounter an error `Could not find com.android.support:support-annotations:27.0.0.` reinstall your Android Support Repository. - -## Black Screen on Release build (Android) -If your video work on Debug mode, but on Release you see only black screen, please, check the link to your video. If you use 'http' protocol there, you will need to add next string to your AndroidManifest.xml file. -``` - -``` + \ No newline at end of file diff --git a/README.md b/README.md index 3ad58960..e53e697d 100644 --- a/README.md +++ b/README.md @@ -13,5 +13,7 @@ Version 6.0.0 is introducing dozens of breaking changes, mostly through updated - [Documentation](API.md) - [Changelog](CHANGELOG.md) - [Contribution guide](CONTRIBUTING.md) +- [Usefull Side Project](./docs/PROJECTS.md) +- [Adanced debugging](./docs/DEBUGGING.md) **react-native-video** was originally created by [Brent Vatne](https://github.com/brentvatne) diff --git a/docs/DEBUGGING.md b/docs/DEBUGGING.md new file mode 100644 index 00000000..4ad9fda5 --- /dev/null +++ b/docs/DEBUGGING.md @@ -0,0 +1,47 @@ +# Advanced debuging and common issues + +### HTTP playback doesn't work or Black Screen on Release build (Android) +If your video work on Debug mode, but on Release you see only black screen, please, check the link to your video. If you use 'http' protocol there, you will need to add next string to your AndroidManifest.xml file. [Details here](https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic) + +``` + +``` + +### Decoder Issue (Android) + +Devices have a maximum of simulataneous possible playback. It means you have reach this limit. Exoplayer returns: 'Unable to instantiate decoder' + +**known issue**: This issue happen really often in debug mode. + +## You cannot play clean content (all OS) + +Here are the steps to consider before opening a ticket in issue tracker + +### Check you can access to remote file + +Ensure you can download to manifest / content file with a browser for exemple + +### Check another player can read the content + +Usually clear playback can be read with all Video player. Then you should ensure content can be played without any issue with another player ([VideoLan/VLC](https://www.videolan.org/vlc/) is a good reference implementation) + +## You cannot play protected content (all OS) + +### Protected content gives error (token error / access forbidden) + +If content is protected with an access token or any other http header, ensure you can access to you data with a wget call or a rest client app. You need to provide all needed access token / authentication parameters. + +### Everything seems correct but content cannot be accessed + +You need to record network trace to ensure communications with server is correct. +[Charles proxy](https://www.charlesproxy.com/) is a simple and usefull tool to sniff all http/https calls. +With this tool you should be able to analyze what is going on with network. You will see all access to content and DRM, audio / vido chuncks, ... + +Then try to compare exchanges with previous tests you made. + +### It's still not working + +You can try to open a ticket now ! diff --git a/docs/PROJECTS.md b/docs/PROJECTS.md new file mode 100644 index 00000000..34b1ef3a --- /dev/null +++ b/docs/PROJECTS.md @@ -0,0 +1,9 @@ +This page links other open source projects which can be usefull for your player implementation + +# UI over react-native-video + - [react-native-video-controls](https://github.com/itsnubix/react-native-video-controls): First reference player UI + - [react-native-media-console](https://github.com/criszz77/react-native-media-console): React-native-video-controls updated and rewritten in typescript + - [react-native-corner-video](https://github.com/Lg0gs/react-native-corner-video): A floating video player + +# Other tools + - [react-native-corner-video](https://github.com/tanguyantoine/react-native-music-control): A toolbox to control player over media session From 417388ab9e55cd2fb5916849eda0797fa1453f23 Mon Sep 17 00:00:00 2001 From: olivier bouillet Date: Wed, 14 Sep 2022 23:57:46 +0200 Subject: [PATCH 2/4] chore: fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e53e697d..0e9847f8 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,6 @@ Version 6.0.0 is introducing dozens of breaking changes, mostly through updated - [Changelog](CHANGELOG.md) - [Contribution guide](CONTRIBUTING.md) - [Usefull Side Project](./docs/PROJECTS.md) -- [Adanced debugging](./docs/DEBUGGING.md) +- [Advanced debugging](./docs/DEBUGGING.md) **react-native-video** was originally created by [Brent Vatne](https://github.com/brentvatne) From a4900414087a841e733be69e8635394b9da146b7 Mon Sep 17 00:00:00 2001 From: olivier bouillet Date: Thu, 15 Sep 2022 00:03:56 +0200 Subject: [PATCH 3/4] chore: fix copy past --- docs/PROJECTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/PROJECTS.md b/docs/PROJECTS.md index 34b1ef3a..fca32018 100644 --- a/docs/PROJECTS.md +++ b/docs/PROJECTS.md @@ -6,4 +6,4 @@ This page links other open source projects which can be usefull for your player - [react-native-corner-video](https://github.com/Lg0gs/react-native-corner-video): A floating video player # Other tools - - [react-native-corner-video](https://github.com/tanguyantoine/react-native-music-control): A toolbox to control player over media session + - [react-native-music-control](https://github.com/tanguyantoine/react-native-music-control): A toolbox to control player over media session From 12ed2a25fded20e205a5925905561a0205695ee7 Mon Sep 17 00:00:00 2001 From: olivier bouillet Date: Fri, 16 Sep 2022 08:44:53 +0200 Subject: [PATCH 4/4] doc: fix content comment position in doc & complete it --- API.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/API.md b/API.md index 01314ea8..def2b025 100644 --- a/API.md +++ b/API.md @@ -421,12 +421,12 @@ Determines whether to show player controls. * **true** - Show player controls Note on iOS, controls are always shown when in fullscreen mode. +Note on Android, native controls are available by default. +If needed, you can also add your controls or use a package like [react-native-video-controls](https://github.com/itsnubix/react-native-video-controls) or [react-native-media-console](https://github.com/criszz77/react-native-media-console), see [Usefull Side Project](./docs/PROJECTS.md). ### contentStartTime The start time in ms for SSAI content. This determines at what time to load the video info like resolutions. Use this only when you have SSAI stream where ads resolution is not the same as content resolution. -Note on Android, native controls are available by default. If needed, you can also add your controls or use a package like [react-native-video-controls]. - Platforms: Android, iOS #### disableFocus