* perf: ensure we do not provide callback to native if no callback provided from app
* chore: rework bufferConfig to make it more generic and reduce ReactExoplayerView code size
* chore: improve issue template
* fix(android): avoid video view flickering at playback startup
* fix: ensure player doesn't start when view is unmounted
* chore: move basic sample to expo
* Update examples/basic/package.json
Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
* chore: use last expo version
* chore: fix podfile
---------
Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
* feat(ios): add `showNotificationControls` prop
* feat(android): add `showNotificationControls` prop
* add docs
* feat!: add `metadata` property to srouce
This is breaking change for iOS/tvOS as we are moving some properties, but I believe that this will more readable and more user friendly
* chore(ios): remove UI blocking function
* code review changes for android
* update example
* fix readme
* fix typos
* update docs
* fix typo
* chore: improve sample metadata notification
* update codegen types
* rename properties
* update tvOS example
* reset metadata on source change
* update docs
---------
Co-authored-by: Olivier Bouillet <freeboub@gmail.com>
* fix(ts): onPlaybackRateChangeData was not correctly typed
* fix: ensure tracks are well displayed in the sample
* feat(android): implement playback from asset folder
* chore(android): fix linter
* chore: move sample mp4 from package assets to exemple assets
* fix(ts): onPlaybackRateChangeData was not correctly typed
* fix: ensure tracks are well displayed in the sample
* chore: update basic sample to official react native 0.74
* feat(android): add possibility do disable some of functionalities
* create dump classes
* remove dump files when functionalities are enabled
* add docs
* enable all functionalities in example
* throw error when trying to use disabled functionality
* update docs
* chore: start fixing linter and tsc warning and errors
* chore(ci): add basic example build
* chore: allow to build with or without ads on android
* chore: fix job definition
---------
Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>
Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
* fix: refactor androidx core version management
* chore: fix missing import rework for media3
* fix: enable IMA in sample
* chore: rename stub fie
* chore: code review, fix variable name
* chore: reorder imports
* chore: fix linking in sample
* chore: fix stub management
* chore: few cleans and ensure we don't use ima is disabled
---------
Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>
Describe the changes
Upgrade ExoPlayer to version 2.17.1
Provide an example of how to test the change
Tested with a forked of react-native-video-test
* Update exoplayer to v2.15.1
* feat: upgrade ExoPlayer to version 2.17.1
* chore: update CHANGELOG
* remove ExoPlayerFullscreenVideoActivity
* Fix build issues
* Fix build & runtime issues
Co-authored-by: Eran Hammer <eran@hammer.io>
Co-authored-by: Armands Malejev <armands.malejevs@gmail.com>
Converts iOS implementation from Objective-c to Swift
# During the conversion process some updates to the code structure were also made
- Modularize codebase from single file to smaller focused files
- Untangled large nested IF statements
- Added more null checks, since Swift is more strict with null pointers
- Added property to allow for decoding of local video sources with self contained key for offline playback
- Updates example apps to test react-native 0.63.4 and uses auto native dependency imports for android and ios
- allow to set multiple video to to play and zap to next channel
- display toast on error
- add resizing test
- add a seek bar
- add text and audio tracks picker
- add loader during buffering
- add repeat mode test
- add toggle fullscreen