Skip to content

Commit 9a9be9a

Browse files
committed
Merge master into feature/video_active_layer
- Resolved merge conflicts between master (Expo 53 upgrade) and video layer feature - Updated dependencies to support Expo 53 while preserving video layer functionality - Combined README documentation for video layer with expo-av deprecation notes - Preserved adapter pattern from master in AdvancedVideo.tsx - Kept demo app structure from feature branch with updated dependencies - Added support for @expo/vector-icons and expo-font as optional dependencies for video layer
2 parents 90048df + e6af45c commit 9a9be9a

34 files changed

+8157
-23889
lines changed

.github/workflows/ci.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# .github/workflows/ci.yml
2+
name: CI – Cloudinary React Native SDK
3+
4+
on: [push, pull_request]
5+
6+
jobs:
7+
test:
8+
runs-on: ubuntu-22.04
9+
10+
steps:
11+
- uses: actions/checkout@v3
12+
13+
- uses: actions/setup-node@v3
14+
with:
15+
node-version: 18
16+
cache: npm
17+
18+
- run: npm ci
19+
- run: npm run prepack
20+
- run: npm test

.npmrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
engine-strict=false
2+
fund=false

.travis.yml

Lines changed: 0 additions & 22 deletions
This file was deleted.

README.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ This Readme provides basic installation and usage information.
2121
Transform and optimize assets. Visit our documentation to learn more about [media optimization](https://cloudinary.com/documentation/media_optimization) and [transformations](https://cloudinary.com/documentation/image_transformations).
2222

2323
## Version Support
24-
| SDK Version | React Native Version |
25-
|-------------|----------------------|
26-
| 1.x.x | > 0.6 |
24+
| SDK Version | React Native Version | Expo SDK Version | Video Library |
25+
|-------------|----------------------|------------------|---------------|
26+
| 1.x.x | >= 0.72 | 50-53 | expo-av / expo-video |
2727

2828
## Installation
2929
### Install using your favorite package manager (yarn, npm)
@@ -37,16 +37,20 @@ yarn add cloudinary-react-native --save
3737
```
3838

3939
### For Video Player functionality
40-
If you want to use the video player features, you need to install `expo-av`:
40+
The SDK supports both `expo-av` and `expo-video` libraries. The appropriate library will be automatically detected and used:
4141

42+
**For Expo SDK 50-51 (expo-av):**
4243
```bash
4344
npm install expo-av
4445
```
45-
Or
46+
47+
**For Expo SDK 52+ (expo-video - recommended):**
4648
```bash
47-
yarn add expo-av
49+
npm install expo-video
4850
```
4951

52+
**Note:** `expo-av` is deprecated in SDK 52 and removed in SDK 53. For newer Expo versions, use `expo-video`.
53+
5054
### For Video Layer with Controls (CLDVideoLayer)
5155
If you want to use the `CLDVideoLayer` component with UI controls, you need to install additional dependencies:
5256

@@ -94,7 +98,7 @@ export default function App() {
9498
```
9599

96100
### Video Player
97-
The `AdvancedVideo` component provides video playback capabilities with optional analytics tracking. **Note: This requires `expo-av` to be installed.**
101+
The `AdvancedVideo` component provides video playback capabilities with optional analytics tracking. **Note: This requires either `expo-av` (SDK 50-51) or `expo-video` (SDK 52+) to be installed.**
98102

99103
```tsx
100104
import { AdvancedVideo } from 'cloudinary-react-native';

example/.npmrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
engine-strict=false
2+
fund=false
3+
audit=false
4+
update-notifier=false

example/App.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,14 @@ import VideoLayerDemo from './VideoLayerDemo';
77

88
const { height: screenHeight, width: screenWidth } = Dimensions.get('window');
99

10-
// Calculate safe area padding based on screen dimensions
1110
const getTopPadding = () => {
1211
if (Platform.OS === 'ios') {
13-
// For iPhone X and newer (with notch), screen height is typically 812+ or width 390+
1412
if (screenHeight >= 812 || screenWidth >= 390) {
15-
return 60; // Devices with notch
13+
return 60;
1614
}
17-
return 40; // Older devices
15+
return 40;
1816
}
19-
return 35; // Android
17+
return 35;
2018
};
2119

2220
type CurrentScreen = 'home' | 'image' | 'video' | 'videoLayer';

0 commit comments

Comments
 (0)