-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/ios drm support #5
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe change drm type to enum to avoid typo and clearly see what types are supported?
@hosek done! thanks |
ios/Video/RCTVideo.m
Outdated
return theData; | ||
} | ||
|
||
- (NSString*)base64forData:(NSData*)theData { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function can be avoided there is a native method for that:
https://developer.apple.com/documentation/foundation/nsdata/1417833-init
})).catch((error) => { | ||
NativeModules.VideoManager.setLicenseError(error, findNodeHandle(this._root)); | ||
}); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if there's no data
or data.spc
?
Video.js
Outdated
}); | ||
} | ||
} else { | ||
NativeModules.VideoManager.setLicenseError("No enough data for license override", findNodeHandle(this._root)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Not enough…" would be a bit better 😁
Video.js
Outdated
}); | ||
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not needed?
ios/Video/RCTVideo.m
Outdated
[request setValue:value forHTTPHeaderField:key]; | ||
} | ||
} | ||
// |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needed?
CHANGELOG.md
Outdated
@@ -1,5 +1,8 @@ | |||
## Changelog | |||
|
|||
### Version 4.3.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't this a minor update the least?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changed to next so they can decide
ios/Video/RCTVideo.m
Outdated
if([httpResponse statusCode] != 200){ | ||
NSLog(@"Error getting license from %@, HTTP status code %li", url, (long)[httpResponse statusCode]); | ||
NSError *licenseError = [NSError errorWithDomain: @"RCTVideo" | ||
code: -1337 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add these numbers to an Enum?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
refactored to error enum
README.md
Outdated
@@ -420,15 +420,18 @@ Platforms: iOS | |||
Platforms: iOS | |||
|
|||
#### headers | |||
Pass headers to the HTTP client. Can be used for authorization. | |||
Pass headers to the HTTP client. Can be used for authorization. Headers must be a part of the source object. | |||
|
|||
To enable this on iOS, you will need to manually edit RCTVideo.m and uncomment the header code in the playerItemForSource function. This is because the code used a private API and may cause your app to be rejected by the App Store. Use at your own risk. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this still the case now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is coming from an update of RNV itself. It is related with source > headers, not source > drm > headers
…r to align with player state
… true. requestAudioFocus was being run regardless of there being a src, so I made it so that only gets requested when a src exists.
Support for displaying controls in Android Exoplayer
I'm guessing this change was made to cleanup the code, however it is not functionally identical and may cause issues. Revert until those can be discussed.
Feature Implementation: Recovery from transient internet failures
If an undefined source is accidentally loaded in react-native-video a fatal error SIGABRT will happen and crash the application. This is very difficult to debug since there's apparently no relation between this crash and react-native-video. So this change checks if the URI is empty and, if it is, it throws an error, allowing the user to find out early about the issue. https://cloud.githubusercontent.com/assets/5795227/20283860/08223ba6-aabb-11e6-9fdc-d12d32b3aa9a.png
…-video into feature/ios-drm-support
…roup#1931) this fixes the case on any time you have a react view that displays the video, but it's being rendered with controls but not as a full screen (ie. easily reproducible when you have a tabbar for instance - the reactViewController.view frame shouldnt be the whole screen bounds).
@sanjeevghimire |
Fix video dimensions for HLS streams
Audio mix with other apps for iOS
Implement pending seek fully
# Summary We've been recommending devs use `npx pod-install` since it will attempt to install CocoaPods CLI if it's not available on the computer (cite [React Navigation setup guide](https://reactnavigation.org/docs/getting-started/#installing-dependencies-into-a-bare-react-native-project)). This has proved very useful for Expo users who are now migrating to the bare workflow and want to use community packages in their projects. ## Checklist - [x] I have tested this on a device and a simulator - [x] I added the documentation in `README.md`
* added trackId to exoplayer onLoad callback * added trackInfo to bandwidth callback * syntax fix * syntax fix * version update * sending complete logcat for media playback exception ExoPlaybackException * version bump * package publish changes * Live playback fix * Version bump * import fix * version bump * configurable preferredForwardBufferDuration * configurable preferredForwardBufferDuration * version update * Exposing time * exo player window current tsp * return type * Current window timestamp in epoch * iOS changes * version update * Updated package.json * updated version * CurrentTime bug fix * Updated package.json * Updated currentPlaybackTime * Updated currentPlayback logic * Updated package.json * Bug fix * Added semicolon * updated package.json * Updated ReactVideoView * updated verison * Revert package.json changes * Update ReactVideoView.java * Use standard log * Document preferredForwardBufferDuration (iOS) * Document currentPlaybackTime * Document trackId * Update CHANGELOG.md * Update CHANGELOG.md * Update README.md * Update CHANGELOG.md Co-authored-by: anubansal <[email protected]> Co-authored-by: Sivakumar J <[email protected]> Co-authored-by: parikshit <[email protected]> Co-authored-by: anubansal92 <[email protected]> Co-authored-by: Rishu Agrawal <[email protected]> Co-authored-by: rishu-curefit <[email protected]>
…arzGroup#1862) * update UIInterfaceOrientation in fullscreen * update code
* Add flag on iOS * Add flag in Android * Add documentation * Add changelog entry * Also set setKeepScreenOn * Fix prop not being set * add preventsDisplaySleepDuringVideoPlayback to exoplayer * Update android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java * Update android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java Co-authored-by: Jens Andersson <[email protected]> Co-authored-by: Anton Tanderup <[email protected]> Co-authored-by: Jens Andersson <[email protected]>
…2053) * Fix exoplayer aspect ratio update on source changes * Update CHANGELOG.md
Add support for customizing back buffer duration and handle network errors gracefully to prevent releasing the player when network is lost.
ISSUE: https://jira.24i.com/browse/PRJ001NXG-82
WIP PR to start adding feedback provided.
Example integration: