* fix: refactor side loaded text tracks management
More textTracks in source.
android/ios: ensure text tracks are not selected by default
android/ios make textTrack field not nullable
clean up doc
check compatibility with the old api
Add comments on deprecated JS apis
Apply API change on basic sample
* chore: fix linter
* fix(ios): fix build with caching & remove warnings
* feat(android): handle navigation bar status in full-screen mode
* chore: update default value of prop
* chore(android): rework fullscreen configuration
---------
Co-authored-by: mostafahasani <seyedmostafahassani@gmail.com>
* fix(android): add subtitleStyle.subtitlesFollowVideo prop to control subtitles positionning
* docs: add new prop description
* docs: add supported platform for subtitleStyle
* chore: use constructor instead of parse
* feat(VideoNativeComponent.ts): add support for cmcd configuration in VideoSrc type to enable cmcd feature on android
feat(video.ts): introduce CmcdMode enum and CmcdConfiguration type to define cmcd configuration options
* feat(Video.tsx): add support for CMCD configuration in Video component to handle Content Management and Delivery (CMCD) headers for Android platform.
* feat(CMCDProps.kt): add CMCDProps class to handle CMCD related properties and parsing logic for React Native module
* feat(CMCDConfig.kt): add CMCDConfig class to handle CMCD configuration for ExoPlayer with support for custom data and configuration options.
* feat(ReactExoplayerViewManager.java): add support for CMCD configuration in ReactExoplayerViewManager to enable Content Management and Control Data (CMCD) for better video playback optimization.
* feat(ReactExoplayerView.java): add support for setting CmcdConfiguration.Factory to customize CMCD configuration for media playback
* feat(Source.kt): add support for CMCD properties linked to the source to enhance functionality and data handling
* docs(props.mdx): add documentation for configuring CMCD parameters in the component, including usage examples and default values
* refactor(ReactExoplayerViewManager.java): remove unused PROP_CMCD and prevCmcdConfig variables to clean up code and improve readability
* refactor(Video.tsx): simplify cmcd configuration logic for better readability and maintainability
* docs(props.mdx): improve props documentation for clarity and consistency
feat(props.mdx): add definitions for CmcdMode enum and CmcdData type to enhance understanding of CMCD data structure and usage
* refactor(CMCDProps.kt): refactor CMCDProps class to data class for improved readability and immutability
- update CMCDProps class to use List instead of Array for properties
* refactor(Video.tsx): refactor createCmcdHeader function to improve code readability and reduce duplication
* fix(CMCDProps.kt): remove import statement for CmcdConfiguration
* feat(ReactExoplayerView.java): add support for CMCD configuration in ReactExoplayerView component
feat(ReactExoplayerViewManager.java): remove redundant CMCD configuration logic from ReactExoplayerViewManager to simplify code and improve maintainability
* fix(Video.tsx): merge _cmcd memo into src memo for optimization
* fix: ios build crash due to AVMediaSelectionGroup not being unwrapped
* fix: use shorthand optional binding
* fix: disable swiftlint shorthand_optional_binding for guard let
* fix(ios): use guard do catch
Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
---------
Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>