c2084c2ace
* chore(js): fix typo * refactor(js): refactor type code for codegen * refactor(js): refactor Video component - parse shutterColor value within JS - remove internal fullscreen state * chore(js): add deprecation warning comment * fix(js): fix return type * fix(js): fix import path * refactor(android): apply changed API for new arch * refactor(ios): apply changed API for new arch * fix(ios): fix wrong name * refactor: refactor VideoDecoderProperties - rename and add wrapper * refactor(android): Code fixes for backward compatibility with Kotlin
30 lines
1.0 KiB
TypeScript
30 lines
1.0 KiB
TypeScript
import {Platform} from 'react-native';
|
|
|
|
import NativeVideoDecoderInfoModule from './specs/NativeVideoDecoderInfoModule';
|
|
|
|
const errMsgGen = (moduleName: string, propertyName: string) =>
|
|
`The method or property ${moduleName}.${propertyName} is not available on ${Platform.OS}.`;
|
|
|
|
export const VideoDecoderProperties = {
|
|
async getWidevineLevel() {
|
|
if (Platform.OS !== 'android') {
|
|
throw new Error(errMsgGen('VideoDecoderProperties', 'getWidevineLevel'));
|
|
}
|
|
return NativeVideoDecoderInfoModule.getWidevineLevel();
|
|
},
|
|
async isCodecSupported(
|
|
...args: Parameters<typeof NativeVideoDecoderInfoModule.isCodecSupported>
|
|
) {
|
|
if (Platform.OS !== 'android') {
|
|
throw new Error(errMsgGen('VideoDecoderProperties', 'isCodecSupported'));
|
|
}
|
|
return NativeVideoDecoderInfoModule.isCodecSupported(...args);
|
|
},
|
|
async isHEVCSupported() {
|
|
if (Platform.OS !== 'android') {
|
|
throw new Error(errMsgGen('VideoDecoderProperties', 'isHEVCSupported'));
|
|
}
|
|
return NativeVideoDecoderInfoModule.isHEVCSupported();
|
|
},
|
|
};
|