* 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(android): refactor external text tracks management.
Split parsing and tracks handling
* chore: fix linter
* 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
* fix(android): avoid video flickering at playback start
* 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
* 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
* fix(ios): text tracks selection by index. regression due to codegen rework
* chore: make selection by index testable (need a small manual patch)
* chore(ios): fix linter warning
* fix(ts): onPlaybackRateChangeData was not correctly typed
* fix: ensure tracks are well displayed in the sample
* fix: avoid crash when setting invalid selected track or index 0
* fix(ts): onPlaybackRateChangeData was not correctly typed
* fix: ensure tracks are well displayed in the sample
* fix(iOS): ensure orientation is correctly reported
* chore: fix build
* fix(ts): onPlaybackRateChangeData was not correctly typed
* fix: ensure tracks are well displayed in the sample
* fix: fix sample style & avoid changing channel onEnd when looping is enable
* chore: add startPosition in the sample
* chore: update startPosition for easier testing
* fix(ts): onPlaybackRateChangeData was not correctly typed
* fix: ensure tracks are well displayed in the sample
* fix: fix sample style & avoid changing channel onEnd when looping is enable
* fix(ts): onPlaybackRateChangeData was not correctly typed
* fix: ensure tracks are well displayed in the sample
* fix(ios): ensure duration is correct when starting a live playback
* chore: move ticket version to a free text field instead of dropDown
* fix(ts): onPlaybackRateChangeData was not correctly typed
* fix: ensure tracks are well displayed in the sample
* fix(android): add onSeek callback when controls are enable
* chore: remove seekTime which is useless now
* doc: indicate that onSeek is not reported when controls are enable on iOS
* 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(ts): onPlaybackRateChangeData was not correctly typed
* fix: ensure tracks are well displayed in the sample
* fix(android): add onSeek callback when controls are enable
* chore: remove seekTime which is useless now
* 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
* fix: ensure poster works as expected and add it to the sample
* chore: drop audioOnly property as not implemented on any platform
* fix(ios): do not save pause state before seeking
* fix(ts): onPlaybackRateChangeData was not correctly typed