* 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
* 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>
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