* 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
* chore(android): refactor DRM props into a dedicated class
* Update android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
* chore: fix linter
* fix: ensure drm prop is correctly cleaned
* feat(android): move viewType (secure texture) & drm inside the source
The origianl behavior has been kept for interoperability, but marked as deprecated in doc
* chore: fix linter
* chore(ios): move drm prop in source like on android
* chore: fix linter
* chore: clean log
* fix: allow to disable secure View
* chore: fix viewType resolution (source value was not handled)
* chore: use contentDeepEquals instead of manual checks
* chore: fix linter
* fix: ensure player doesn't start when view is unmounted
* Fix/ensure view drop stop playback startup (#3875)
* fix: ensure player doesn't start when view is unmounted
* chore: revert change
* chore: add warning in case of invalid Surface configuration
* chore: code clean
* fix: simplify surface management
* chore: restore previous code
* chore: fix typo
* chore: code cleanup
* feat(android): add multiDrm flag support
* docs: update docs
* chore: fix ios build
* chore: fix deprecated declaration
---------
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
* 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
* 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>
* 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
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