* 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): cleanup logs TAG
* 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
* 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(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(android): rename startPlayback to resumePlayback and fix implementation
I cannot understand why this implementation has been done. I guess this is to workaround some issue...
now resume only resume playback and don't start a new playback during bufffering...
* chore: simplify duplicated code
* fix: check disableFocus when state is ready
* Revert "fix: check disableFocus when state is ready"
This reverts commit b616bc2b8165f49a60d2f4b061d5d9abce63bff6.
* refactor: makes keepScreenOn ignore disableFocus when start playback
* 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>
* feat: add prop to allow controlling of debug log level
* fix: move props parsing to safeGetters
* chore: fix typing
* chore: fix types and lintter
* chore: move file VideoEventEmitter
* fix: make VideoEventEmitter player agnostic
And create a dedicated API data for that
* chore: move generic file in API folder
---------
Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>