* fix: fix crash when invalid index type is provided and minor clean up
* fix: review video track management. Fix index support and rework string vs int in tracks management
* fix: ABR track selection check
* fix: split track selector in sample and lint code
* fix: ensure we don't report null fields
* chore: improve tracks displayed
* chore: start moving to selection by index only
* 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
* feat(android): implement live buffer configuration
* 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
* chore: improve issue template
* fix(android): avoid video view flickering at playback startup
* fix: allow to select Exceeded Constraints tracks for more playback flexibilities
* 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(android): fix random crash
* 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: improve debuging display and enable it in the sample
* 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(android): avoid ghost resizing when video track change
* 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(android): ensure adsLoader is well release if unused
* 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: fix crash when invalid index type is provided and minor clean up
* 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
* 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
* 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
* 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
* feat: implement opacity to control visibility of subtitles
implemented per discussion on https://github.com/react-native-video/react-native-video/issues/3579
updated docs and linked onTextTrackDataChanged to the subtitle style to clarify intent on how to control visibility.
* chore: update type so that we use a union of 0 1 vs any number
* chore: run ktlint to get rid of white spaces
* feat: add ability to have range of numbers for opacity; while, 0 will still not render the subtitles.
added util function for safeGetFloat
updated types
* feat: add ability to suppress subtitles with opacity 0
add data structure for subtitle styles for extensibility
* chore: run yarn check-ios
* chore: update documentation to clarify differences between android and ios
* Update android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
---------
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
* 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
* feat: implemented codegenConfig on package.json
* chore: moved directory location of Fabric component
* fix: typefix FabricExample
* chore: pod instaslled FabricExample iOS app
* feat: implemented codegen config on package.json
* feat: implemented codegen of specs/VideoNativeComponent
* chore: removed not using type Filter
* feat: removed unnecessary export on codegen tyepes
* Revert "feat: removed unnecessary export on codegen tyepes"
This reverts commit fc243b0ac5c565eda4886cd865c32ba4e812d7ff.
* refactor: fixed types on Video component and modified types with codegen types
* feat: modified codegenNativeComponent naming (RCTVideo)
* feat: pod installed example basic app
* feat: bump up react-native dev dependency version to 0.73.2 for supporting codegen array event params
* feat: support array param types on event callback function codegen types
* chore: pod installed ios basic example
* feat: modified source prop as optional type
* feat: add original src/VideoComponent.ts again
* Revert "feat: add original src/VideoComponent.ts again"
This reverts commit d63ac94e5330f7c7fb50374f65f8f3f4e0a225d7.
* feat: add original src/VideoComponent.ts again with original file name
* feat: git rm src/specs/VideoNativeComponent.ts
* feat: git mv VideoNativeComponent.ts
* feat: git mv src/specs/VideoNativeComponent.ts
* feat: git mv src/VideoNativeComponent.ts src/specs/VideoNativeComponent.ts
* feat: implemented array type handling on android JAVA
* feat: updated iOS requestHeaders parsing native
* feat: use safeGetArray on android, removed not using import too
* feat: temporary commit - reusing enum types for remaining docs types
* feat: implemented mixed type of SelectedTrack.value for JS layer
* 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>
* using explicit not-exported flag for AudioBecomingNoisyReceiver
* androidx.core:core version 1.9.0, androix.activity:activity version 1.6.0
---------
Co-authored-by: Andy G <Andy Garron>
* 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>