expo-libmpv 0.5.4 → 0.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"LibmpvView.d.ts","sourceRoot":"","sources":["../src/LibmpvView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAkC7E,eAAO,MAAM,qBAAqB,EAAE,MAA0B,CAAA;AAE9D,eAAO,MAAM,0BAA0B,EAAE,MAAiD,CAAA;AAE1F,eAAO,MAAM,UAAU,8GA0DrB,CAAA;AAEF,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"LibmpvView.d.ts","sourceRoot":"","sources":["../src/LibmpvView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAkC7E,eAAO,MAAM,qBAAqB,EAAE,MAA0B,CAAA;AAE9D,eAAO,MAAM,0BAA0B,EAAE,MAAiD,CAAA;AAE1F,eAAO,MAAM,UAAU,8GA2DrB,CAAA;AAEF,eAAe,UAAU,CAAA"}
@@ -40,31 +40,30 @@ export const LibmpvView = React.forwardRef((props, parentRef) => {
40
40
  };
41
41
  }, []);
42
42
  // Pass mpv events and logs back up to the parent
43
- const onLogEvent = (libmpvEvent) => {
44
- if (props.onLibmpvEvent) {
45
- if (libmpvEvent && libmpvEvent.nativeEvent) {
46
- libmpvEvent = libmpvEvent.nativeEvent;
47
- }
48
- if (libmpvEvent.eventId) {
49
- libmpvEvent.value = parseInt(libmpvEvent.eventId, 10);
50
- libmpvEvent.eventKind = EVENT_LOOKUP[libmpvEvent.eventId];
51
- }
52
- else if (libmpvEvent.kind === 'long' || libmpvEvent.kind === 'double') {
53
- libmpvEvent.value = Number(libmpvEvent.value);
54
- }
55
- else if (libmpvEvent.kind === 'boolean') {
56
- libmpvEvent.value = libmpvEvent.value === 'true';
57
- }
58
- return props.onLibmpvEvent(libmpvEvent);
43
+ const onLogEvent = (e) => {
44
+ if (!props.onLibmpvEvent) {
45
+ return;
59
46
  }
47
+ const src = e?.nativeEvent ?? e;
48
+ const libmpvEvent = { ...src };
49
+ if (libmpvEvent.eventId) {
50
+ libmpvEvent.value = parseInt(libmpvEvent.eventId, 10);
51
+ libmpvEvent.eventKind = EVENT_LOOKUP[libmpvEvent.eventId];
52
+ }
53
+ else if (libmpvEvent.kind === 'long' || libmpvEvent.kind === 'double') {
54
+ libmpvEvent.value = Number(libmpvEvent.value);
55
+ }
56
+ else if (libmpvEvent.kind === 'boolean') {
57
+ libmpvEvent.value = libmpvEvent.value === 'true';
58
+ }
59
+ return props.onLibmpvEvent(libmpvEvent);
60
60
  };
61
- const onLibmpvLog = (libmpvLog) => {
62
- if (props.onLibmpvLog) {
63
- if (libmpvLog && libmpvLog.nativeEvent) {
64
- libmpvLog = libmpvLog.nativeEvent;
65
- }
66
- return props.onLibmpvLog(libmpvLog);
61
+ const onLibmpvLog = (e) => {
62
+ if (!props.onLibmpvLog) {
63
+ return;
67
64
  }
65
+ const src = e?.nativeEvent ?? e;
66
+ return props.onLibmpvLog({ ...src });
68
67
  };
69
68
  // The order props are handled in the native code is non-deterministic
70
69
  // Each native prop setter checks to see if all required props are set
@@ -1 +1 @@
1
- {"version":3,"file":"LibmpvView.js","sourceRoot":"","sources":["../src/LibmpvView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,GAAQ;IAClB,WAAW,EAAE;QACX,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,CAAC;KACP;CACF,CAAC;AAEF,MAAM,YAAY,GAAQ;IACxB,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,aAAa;IAChB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,kBAAkB;IACtB,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,MAAM;CACX,CAAA;AAED,MAAM,gBAAgB,GAAyC,iBAAiB,CAAC,YAAY,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,qBAAqB,GAAW,iBAAiB,CAAA;AAE9D,MAAM,CAAC,MAAM,0BAA0B,GAAW,wCAAwC,CAAA;AAE1F,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAA2C,CAAC,KAAU,EAAE,SAAc,EAAE,EAAE;IAClH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,GAAG,EAAE;YACV,IAAI,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;gBAChC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,iDAAiD;IACjD,MAAM,UAAU,GAAG,CAAC,WAAgB,EAAE,EAAE;QACtC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,WAAW,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC3C,WAAW,GAAG,WAAW,CAAC,WAAW,CAAA;YACvC,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxB,WAAW,CAAC,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACrD,WAAW,CAAC,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YAC3D,CAAC;iBACI,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtE,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YAC/C,CAAC;iBACI,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxC,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,KAAK,MAAM,CAAA;YAClD,CAAC;YACD,OAAO,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QACzC,CAAC;IACH,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,CAAC,SAAc,EAAE,EAAE;QACrC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;gBACvC,SAAS,GAAG,SAAS,CAAC,WAAW,CAAA;YACnC,CAAC;YACD,OAAO,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAA;IAED,sEAAsE;IACtE,sEAAsE;IACtE,qDAAqD;IAErD,OAAO,CAAC,gBAAgB,CACtB,GAAG,CAAC,CAAC,SAAS,CAAC,CACf,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CACpE,WAAW,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAC/B,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAC3B,YAAY,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CACjC,iBAAiB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAC3C,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAC3B,YAAY,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CACjC,aAAa,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CACnC,aAAa,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CACnC,kBAAkB,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAC7C,qBAAqB,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CACnD,aAAa,CAAC,CAAC,UAAU,CAAC,CAC1B,WAAW,CAAC,CAAC,WAAW,CAAC,EACzB,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA","sourcesContent":["import { requireNativeView } from 'expo';\nimport * as React from 'react';\nimport { LibmpvViewProps, LibmpvViewNativeMethods } from './LibmpvViewTypes';\n\nconst styles: any = {\n videoPlayer: {\n position: \"absolute\",\n left: 0,\n bottom: 0,\n right: 0,\n top: 0\n }\n};\n\nconst EVENT_LOOKUP: any = {\n 0: 'NONE',\n 1: 'SHUTDOWN',\n 2: 'LOG_MESSAGE',\n 3: 'GET_PROPERTY_REPLY',\n 4: 'SET_PROPERTY_REPLY',\n 5: 'COMMAND_REPLY',\n 6: 'START_FILE',\n 7: 'END_FILE',\n 8: 'FILE_LOADED',\n 16: 'CLIENT_MESSAGE',\n 17: 'VIDEO_RECONFIG',\n 18: 'AUDIO_RECONFIG',\n 20: 'SEEK',\n 21: 'PLAYBACK_RESTART',\n 22: 'PROPERTY_CHANGE',\n 24: 'QUEUE_OVERFLOW',\n 25: 'HOOK'\n}\n\nconst LibmpvViewNative: React.ComponentType<LibmpvViewProps> = requireNativeView('LibmpvView');\n\nexport const DEFAULT_DECODING_MODE: string = \"mediacodec-copy\"\n\nexport const DEFAULT_ACCELERATED_CODECS: string = \"h264,hevc,mpeg4,mpeg2video,vp8,vp9,av1\"\n\nexport const LibmpvView = React.forwardRef<LibmpvViewNativeMethods, LibmpvViewProps>((props: any, parentRef: any) => {\n React.useEffect(() => {\n return () => {\n if (parentRef?.current?.cleanup) {\n parentRef.current.cleanup();\n }\n };\n }, []);\n\n // Pass mpv events and logs back up to the parent\n const onLogEvent = (libmpvEvent: any) => {\n if (props.onLibmpvEvent) {\n if (libmpvEvent && libmpvEvent.nativeEvent) {\n libmpvEvent = libmpvEvent.nativeEvent\n }\n if (libmpvEvent.eventId) {\n libmpvEvent.value = parseInt(libmpvEvent.eventId, 10)\n libmpvEvent.eventKind = EVENT_LOOKUP[libmpvEvent.eventId]\n }\n else if (libmpvEvent.kind === 'long' || libmpvEvent.kind === 'double') {\n libmpvEvent.value = Number(libmpvEvent.value)\n }\n else if (libmpvEvent.kind === 'boolean') {\n libmpvEvent.value = libmpvEvent.value === 'true'\n }\n return props.onLibmpvEvent(libmpvEvent)\n }\n }\n const onLibmpvLog = (libmpvLog: any) => {\n if (props.onLibmpvLog) {\n if (libmpvLog && libmpvLog.nativeEvent) {\n libmpvLog = libmpvLog.nativeEvent\n }\n return props.onLibmpvLog(libmpvLog);\n }\n }\n\n // The order props are handled in the native code is non-deterministic\n // Each native prop setter checks to see if all required props are set\n // Only then will it try to create an instance of mpv\n\n return <LibmpvViewNative\n ref={parentRef}\n style={props.surfaceStyle ? props.surfaceStyle : styles.videoPlayer}\n videoOutput={props.videoOutput}\n playUrl={props.playUrl}\n isPlaying={props.isPlaying}\n decodingMode={props.decodingMode}\n acceleratedCodecs={props.acceleratedCodecs}\n videoSync={props.videoSync}\n surfaceWidth={props.surfaceWidth}\n surfaceHeight={props.surfaceHeight}\n seekToSeconds={props.seekToSeconds}\n selectedAudioTrack={props.selectedAudioTrack}\n selectedSubtitleTrack={props.selectedSubtitleTrack}\n onLibmpvEvent={onLogEvent}\n onLibmpvLog={onLibmpvLog}\n />\n})\n\nexport default LibmpvView"]}
1
+ {"version":3,"file":"LibmpvView.js","sourceRoot":"","sources":["../src/LibmpvView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { requireNativeView } from 'expo';\nimport * as React from 'react';\nimport { LibmpvViewProps, LibmpvViewNativeMethods } from './LibmpvViewTypes';\n\nconst styles: any = {\n videoPlayer: {\n position: \"absolute\",\n left: 0,\n bottom: 0,\n right: 0,\n top: 0\n }\n};\n\nconst EVENT_LOOKUP: any = {\n 0: 'NONE',\n 1: 'SHUTDOWN',\n 2: 'LOG_MESSAGE',\n 3: 'GET_PROPERTY_REPLY',\n 4: 'SET_PROPERTY_REPLY',\n 5: 'COMMAND_REPLY',\n 6: 'START_FILE',\n 7: 'END_FILE',\n 8: 'FILE_LOADED',\n 16: 'CLIENT_MESSAGE',\n 17: 'VIDEO_RECONFIG',\n 18: 'AUDIO_RECONFIG',\n 20: 'SEEK',\n 21: 'PLAYBACK_RESTART',\n 22: 'PROPERTY_CHANGE',\n 24: 'QUEUE_OVERFLOW',\n 25: 'HOOK'\n}\n\nconst LibmpvViewNative: React.ComponentType<LibmpvViewProps> = requireNativeView('LibmpvView');\n\nexport const DEFAULT_DECODING_MODE: string = \"mediacodec-copy\"\n\nexport const DEFAULT_ACCELERATED_CODECS: string = \"h264,hevc,mpeg4,mpeg2video,vp8,vp9,av1\"\n\nexport const LibmpvView = React.forwardRef<LibmpvViewNativeMethods, LibmpvViewProps>((props: any, parentRef: any) => {\n React.useEffect(() => {\n return () => {\n if (parentRef?.current?.cleanup) {\n parentRef.current.cleanup();\n }\n };\n }, []);\n\n // Pass mpv events and logs back up to the parent\n const onLogEvent = (e: any) => {\n if (!props.onLibmpvEvent) {\n return\n }\n\n const src = e?.nativeEvent ?? e;\n const libmpvEvent = { ...src };\n\n if (libmpvEvent.eventId) {\n libmpvEvent.value = parseInt(libmpvEvent.eventId, 10);\n libmpvEvent.eventKind = EVENT_LOOKUP[libmpvEvent.eventId];\n } else if (libmpvEvent.kind === 'long' || libmpvEvent.kind === 'double') {\n libmpvEvent.value = Number(libmpvEvent.value);\n } else if (libmpvEvent.kind === 'boolean') {\n libmpvEvent.value = libmpvEvent.value === 'true';\n }\n\n return props.onLibmpvEvent(libmpvEvent);\n };\n\n const onLibmpvLog = (e: any) => {\n if (!props.onLibmpvLog) {\n return\n }\n const src = e?.nativeEvent ?? e\n return props.onLibmpvLog({ ...src });\n }\n\n // The order props are handled in the native code is non-deterministic\n // Each native prop setter checks to see if all required props are set\n // Only then will it try to create an instance of mpv\n\n return <LibmpvViewNative\n ref={parentRef}\n style={props.surfaceStyle ? props.surfaceStyle : styles.videoPlayer}\n videoOutput={props.videoOutput}\n playUrl={props.playUrl}\n isPlaying={props.isPlaying}\n decodingMode={props.decodingMode}\n acceleratedCodecs={props.acceleratedCodecs}\n videoSync={props.videoSync}\n surfaceWidth={props.surfaceWidth}\n surfaceHeight={props.surfaceHeight}\n seekToSeconds={props.seekToSeconds}\n selectedAudioTrack={props.selectedAudioTrack}\n selectedSubtitleTrack={props.selectedSubtitleTrack}\n onLibmpvEvent={onLogEvent}\n onLibmpvLog={onLibmpvLog}\n />\n})\n\nexport default LibmpvView"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-libmpv",
3
- "version": "0.5.4",
3
+ "version": "0.5.5",
4
4
  "description": "A libmpv Fabric component for Android",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -48,31 +48,32 @@ export const LibmpvView = React.forwardRef<LibmpvViewNativeMethods, LibmpvViewPr
48
48
  }, []);
49
49
 
50
50
  // Pass mpv events and logs back up to the parent
51
- const onLogEvent = (libmpvEvent: any) => {
52
- if (props.onLibmpvEvent) {
53
- if (libmpvEvent && libmpvEvent.nativeEvent) {
54
- libmpvEvent = libmpvEvent.nativeEvent
55
- }
56
- if (libmpvEvent.eventId) {
57
- libmpvEvent.value = parseInt(libmpvEvent.eventId, 10)
58
- libmpvEvent.eventKind = EVENT_LOOKUP[libmpvEvent.eventId]
59
- }
60
- else if (libmpvEvent.kind === 'long' || libmpvEvent.kind === 'double') {
61
- libmpvEvent.value = Number(libmpvEvent.value)
62
- }
63
- else if (libmpvEvent.kind === 'boolean') {
64
- libmpvEvent.value = libmpvEvent.value === 'true'
65
- }
66
- return props.onLibmpvEvent(libmpvEvent)
51
+ const onLogEvent = (e: any) => {
52
+ if (!props.onLibmpvEvent) {
53
+ return
67
54
  }
68
- }
69
- const onLibmpvLog = (libmpvLog: any) => {
70
- if (props.onLibmpvLog) {
71
- if (libmpvLog && libmpvLog.nativeEvent) {
72
- libmpvLog = libmpvLog.nativeEvent
73
- }
74
- return props.onLibmpvLog(libmpvLog);
55
+
56
+ const src = e?.nativeEvent ?? e;
57
+ const libmpvEvent = { ...src };
58
+
59
+ if (libmpvEvent.eventId) {
60
+ libmpvEvent.value = parseInt(libmpvEvent.eventId, 10);
61
+ libmpvEvent.eventKind = EVENT_LOOKUP[libmpvEvent.eventId];
62
+ } else if (libmpvEvent.kind === 'long' || libmpvEvent.kind === 'double') {
63
+ libmpvEvent.value = Number(libmpvEvent.value);
64
+ } else if (libmpvEvent.kind === 'boolean') {
65
+ libmpvEvent.value = libmpvEvent.value === 'true';
66
+ }
67
+
68
+ return props.onLibmpvEvent(libmpvEvent);
69
+ };
70
+
71
+ const onLibmpvLog = (e: any) => {
72
+ if (!props.onLibmpvLog) {
73
+ return
75
74
  }
75
+ const src = e?.nativeEvent ?? e
76
+ return props.onLibmpvLog({ ...src });
76
77
  }
77
78
 
78
79
  // The order props are handled in the native code is non-deterministic