expo-libvlc-player
Version:
LibVLC Player for Expo
35 lines • 1.62 kB
JavaScript
import { requireNativeView } from "expo";
import { forwardRef } from "react";
import { parseSource } from "./utils/assets";
import { convertNativeProps } from "./utils/props";
const NativeView = requireNativeView("ExpoLibVlcPlayer");
let loggedRenderingChildrenWarning = false;
const LibVlcPlayerView = forwardRef((props, ref) => {
const nativeProps = convertNativeProps(props);
// @ts-expect-error
if (nativeProps.children && !loggedRenderingChildrenWarning) {
console.warn("The <LibVlcPlayerView> component does not support children. This may lead to inconsistent behaviour or crashes. If you want to render content on top of the LibVlcPlayer, consider using absolute positioning.");
loggedRenderingChildrenWarning = true;
}
const onEncounteredError = ({ nativeEvent }) => {
if (props.onEncounteredError) {
props.onEncounteredError(nativeEvent);
}
};
const onPositionChanged = ({ nativeEvent }) => {
if (props.onPositionChanged) {
props.onPositionChanged(nativeEvent);
}
};
const onFirstPlay = ({ nativeEvent }) => {
if (props.onFirstPlay) {
props.onFirstPlay(nativeEvent);
}
};
return (<NativeView {...nativeProps} ref={ref} source={parseSource(props.source)} slaves={props.slaves?.map((slave) => ({
...slave,
source: parseSource(slave.source),
}))} onEncounteredError={onEncounteredError} onPositionChanged={onPositionChanged} onFirstPlay={onFirstPlay}/>);
});
export default LibVlcPlayerView;
//# sourceMappingURL=LibVlcPlayerView.js.map