* 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 easly return in setSrc
* chore: rework bufferConfig to make it more generic and reduce ReactExoplayerView code size
* feat: expose bufferingStrategy to app and change default behavior
rename disableBuffering undocumented prop to bufferingStrategy and document it.
before this change, default was 'dependingOnMemory'. It can trigger some unnecessary gc() call on android.
* 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>