@girs/gstgl-1.0 4.2.0 → 4.3.0

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.
package/README.md CHANGED
@@ -5,25 +5,25 @@
5
5
  ![downloads/week](https://img.shields.io/npm/dw/@girs/gstgl-1.0)
6
6
 
7
7
 
8
- GJS TypeScript type definitions for GstGL-1.0 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v4.2.0.
8
+ GJS TypeScript type definitions for GstGL-1.0 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v4.3.0.
9
9
 
10
10
  ## Install
11
11
 
12
- To use this type definitions, install them with NPM:
12
+ Install the type definitions with npm:
13
13
  ```bash
14
14
  npm install @girs/gstgl-1.0
15
15
  ```
16
16
 
17
17
  ## Usage
18
18
 
19
- You can import this package into your project like this:
19
+ Import it like any other module:
20
20
  ```ts
21
21
  import GstGL from '@girs/gstgl-1.0';
22
22
  ```
23
23
 
24
24
  ### Ambient Modules
25
25
 
26
- You can also use [ambient modules](https://github.com/gjsify/ts-for-gir/tree/main/packages/cli#ambient-modules) to import this module like you would do this in JavaScript.
26
+ [Ambient modules](https://github.com/gjsify/ts-for-gir/tree/main/packages/cli#ambient-modules) let you write the same import you would in plain JavaScript.
27
27
  For this you need to include `@girs/gstgl-1.0` or `@girs/gstgl-1.0/ambient` in your `tsconfig` or entry point Typescript file:
28
28
 
29
29
  `index.ts`:
@@ -42,7 +42,7 @@ import '@girs/gstgl-1.0'
42
42
  }
43
43
  ```
44
44
 
45
- Now you can import the ambient module with TypeScript support:
45
+ The ambient module now resolves with types:
46
46
 
47
47
  ```ts
48
48
  import GstGL from 'gi://GstGL?version=1.0';
@@ -50,7 +50,7 @@ import GstGL from 'gi://GstGL?version=1.0';
50
50
 
51
51
  ### Global import
52
52
 
53
- You can also import the module with Typescript support using the global `imports.gi` object of GJS.
53
+ GJS's global `imports.gi` works too, with types.
54
54
  For this you need to include `@girs/gstgl-1.0` or `@girs/gstgl-1.0/import` in your `tsconfig` or entry point Typescript file:
55
55
 
56
56
  `index.ts`:
@@ -69,7 +69,7 @@ import '@girs/gstgl-1.0'
69
69
  }
70
70
  ```
71
71
 
72
- Now you have also type support for this, too:
72
+ That form carries types as well:
73
73
 
74
74
  ```ts
75
75
  const GstGL = imports.gi.GstGL;
@@ -77,7 +77,7 @@ const GstGL = imports.gi.GstGL;
77
77
 
78
78
  ### Bundle
79
79
 
80
- Depending on your project configuration, it is recommended to use a bundler like [esbuild](https://esbuild.github.io/). You can find examples using different bundlers [here](https://github.com/gjsify/ts-for-gir/tree/main/examples).
80
+ Most projects want a bundler. [esbuild](https://esbuild.github.io/) is the smallest thing that works; the [examples directory](https://github.com/gjsify/ts-for-gir/tree/main/examples) has setups for several others.
81
81
 
82
82
  ## Other packages
83
83
 
package/gstgl-1.0.d.ts CHANGED
@@ -698,6 +698,14 @@ export namespace GstGL {
698
698
  */
699
699
  function buffer_pool_config_get_gl_allocation_params(config: Gst.Structure): GLAllocationParams | null;
700
700
 
701
+ /**
702
+ * See `gst_buffer_pool_config_set_gl_min_free_queue_size()`.
703
+ * @param config a buffer pool config
704
+ * @returns then number of buffers configured the free queue
705
+ * @since 1.24
706
+ */
707
+ function buffer_pool_config_get_gl_min_free_queue_size(config: Gst.Structure): number;
708
+
701
709
  /**
702
710
  * Sets `params` on `config`
703
711
  * @param config a buffer pool config
@@ -705,6 +713,24 @@ export namespace GstGL {
705
713
  */
706
714
  function buffer_pool_config_set_gl_allocation_params(config: Gst.Structure, params: GLAllocationParams | null): void;
707
715
 
716
+ /**
717
+ * Instructs the {@link GstGL.GLBufferPool} to keep `queue_size` amount of buffers around
718
+ * before allowing them for reuse.
719
+ *
720
+ * This is helpful to allow GPU processing to complete before the CPU
721
+ * operations on the same buffer could start. Particularly useful when
722
+ * uploading or downloading data to/from the GPU.
723
+ *
724
+ * A value of 0 disabled this functionality.
725
+ *
726
+ * This value must be less than the configured maximum amount of buffers for
727
+ * this `config`.
728
+ * @param config a buffer pool config
729
+ * @param queue_size the number of buffers
730
+ * @since 1.24
731
+ */
732
+ function buffer_pool_config_set_gl_min_free_queue_size(config: Gst.Structure, queue_size: number): void;
733
+
708
734
  /**
709
735
  * @param context a {@link Gst.Context}
710
736
  * @returns Whether `display` was in `context`
@@ -785,6 +811,32 @@ export namespace GstGL {
785
811
  */
786
812
  function gl_context_error_quark(): GLib.Quark;
787
813
 
814
+ /**
815
+ * Given the DRM formats in `src` {@link GObject.Value}, collect corresponding GST formats to
816
+ * `dst` {@link GObject.Value}. This function returns `false` if the context is not an EGL
817
+ * context.
818
+ * @param context a {@link Gst.Context}
819
+ * @param src value of "drm-format" field in {@link Gst.Caps} as {@link GObject.Value}
820
+ * @param flags transformation flags
821
+ * @param dst empty destination {@link GObject.Value}
822
+ * @returns whether any valid GST video formats were found and stored in `dst`
823
+ * @since 1.26
824
+ */
825
+ function gl_dma_buf_transform_drm_formats_to_gst_formats(context: GLContext, src: GObject.Value | any, flags: GLDrmFormatFlags, dst: GObject.Value | any): [boolean, unknown];
826
+
827
+ /**
828
+ * Given the video formats in `src` {@link GObject.Value}, collect corresponding drm formats
829
+ * supported by `context` into `dst` {@link GObject.Value}. This function returns `false` if
830
+ * the context is not an EGL context.
831
+ * @param context a {@link Gst.Context}
832
+ * @param src value of "format" field in {@link Gst.Caps} as {@link GObject.Value}
833
+ * @param flags transformation flags
834
+ * @param dst empty destination {@link GObject.Value}
835
+ * @returns whether any valid drm formats were found and stored in `dst`
836
+ * @since 1.26
837
+ */
838
+ function gl_dma_buf_transform_gst_formats_to_drm_formats(context: GLContext, src: GObject.Value | any, flags: GLDrmFormatFlags, dst: GObject.Value | any): [boolean, unknown];
839
+
788
840
  /**
789
841
  * @param element
790
842
  * @param display
@@ -831,6 +883,13 @@ export namespace GstGL {
831
883
  */
832
884
  function gl_format_is_supported(context: GLContext, format: GLFormat): boolean;
833
885
 
886
+ /**
887
+ * @param gl_format the {@link GstGL.GLFormat}
888
+ * @returns the number of components in a {@link GstGL.GLFormat}
889
+ * @since 1.24
890
+ */
891
+ function gl_format_n_components(gl_format: GLFormat): number;
892
+
834
893
  /**
835
894
  * Get the unsized format and type from `format` for usage in glReadPixels,
836
895
  * glTex{Sub}Image*, glTexImage* and similar functions.
@@ -964,6 +1023,17 @@ export namespace GstGL {
964
1023
 
965
1024
  function gl_stereo_downmix_mode_get_type(): GObject.GType;
966
1025
 
1026
+ /**
1027
+ * Given `swizzle`, produce `inversion` such that:
1028
+ *
1029
+ * `swizzle`[`inversion`[i]] == identity[i] where:
1030
+ * - identity = {0, 1, 2,...}
1031
+ * - unset fields are marked by -1
1032
+ * @param swizzle input swizzle
1033
+ * @since 1.24
1034
+ */
1035
+ function gl_swizzle_invert(swizzle: number[]): number[];
1036
+
967
1037
  function gl_sync_meta_api_get_type(): GObject.GType;
968
1038
 
969
1039
  function gl_sync_meta_get_info(): Gst.MetaInfo;
@@ -1029,6 +1099,23 @@ export namespace GstGL {
1029
1099
  */
1030
1100
  function gl_version_to_glsl_version(gl_api: GLAPI, maj: number, min: number): GLSLVersion;
1031
1101
 
1102
+ /**
1103
+ * Calculates the swizzle indices for `video_format` and `gl_format` in order to
1104
+ * access a texture such that accessing a texel from a texture through the swizzle
1105
+ * index produces values in the order (R, G, B, A) or (Y, U, V, A).
1106
+ *
1107
+ * For multi-planer formats, the swizzle index uses the same component order (RGBA/YUVA)
1108
+ * and should be applied after combining multiple planes into a single rgba/yuva value.
1109
+ * e.g. sampling from a NV12 format would have Y from one texture and UV from
1110
+ * another texture into a (Y, U, V) value. Add an Aplha component and then
1111
+ * perform swizzling. Sampling from NV21 would produce (Y, V, U) which is then
1112
+ * swizzled to (Y, U, V).
1113
+ * @param video_format the {@link GstVideo.VideoFormat} in use
1114
+ * @returns whether valid swizzle indices could be found
1115
+ * @since 1.24
1116
+ */
1117
+ function gl_video_format_swizzle(video_format: GstVideo.VideoFormat): [boolean, number[]];
1118
+
1032
1119
  /**
1033
1120
  * @returns the quark used for {@link GstGL.GLWindow} in {@link GLib.Error}'s
1034
1121
  */
@@ -1376,6 +1463,11 @@ export namespace GstGL {
1376
1463
  * Android display.
1377
1464
  */
1378
1465
  ANDROID,
1466
+ /**
1467
+ * Mesa3D surfaceless display using the EGL_PLATFORM_SURFACELESS_MESA
1468
+ * extension.
1469
+ */
1470
+ EGL_SURFACELESS,
1379
1471
  /**
1380
1472
  * any display type
1381
1473
  */
@@ -1383,6 +1475,38 @@ export namespace GstGL {
1383
1475
  }
1384
1476
 
1385
1477
 
1478
+ /**
1479
+ * @gir-type Flags
1480
+ */
1481
+ export namespace GLDrmFormatFlags {
1482
+ export const $gtype: GObject.GType<GLDrmFormatFlags>;
1483
+ }
1484
+
1485
+ /**
1486
+ * @gir-type Flags
1487
+ * @since 1.26
1488
+ */
1489
+ enum GLDrmFormatFlags {
1490
+ /**
1491
+ * include external-only formats
1492
+ */
1493
+ INCLUDE_EXTERNAL,
1494
+ /**
1495
+ * only include formats with linear modifier
1496
+ */
1497
+ LINEAR_ONLY,
1498
+ /**
1499
+ * include emulated formats
1500
+ */
1501
+ INCLUDE_EMULATED,
1502
+ /**
1503
+ * EGL is responsible for the colorspace conversion. In this case, all
1504
+ * supported modifiers get translated to RGBA.
1505
+ */
1506
+ DIRECT_IMPORT,
1507
+ }
1508
+
1509
+
1386
1510
  /**
1387
1511
  * @gir-type Flags
1388
1512
  */
@@ -1525,6 +1649,9 @@ export namespace GstGL {
1525
1649
 
1526
1650
  // Virtual methods
1527
1651
  /**
1652
+ * called in the GL thread when caps are set on `filter`.
1653
+ * Note: this will also be called when changing OpenGL contexts
1654
+ * where {@link GstBase.BaseTransform.SignalSignatures.set_caps | GstBase.BaseTransform::set_caps} may not.
1528
1655
  * @param incaps
1529
1656
  * @param outcaps
1530
1657
  * @virtual
@@ -1532,11 +1659,13 @@ export namespace GstGL {
1532
1659
  vfunc_gl_set_caps(incaps: Gst.Caps, outcaps: Gst.Caps): boolean;
1533
1660
 
1534
1661
  /**
1662
+ * called in the GL thread to setup the element GL state.
1535
1663
  * @virtual
1536
1664
  */
1537
1665
  vfunc_gl_start(): boolean;
1538
1666
 
1539
1667
  /**
1668
+ * called in the GL thread to setup the element GL state.
1540
1669
  * @virtual
1541
1670
  */
1542
1671
  vfunc_gl_stop(): void;
@@ -1602,6 +1731,7 @@ export namespace GstGL {
1602
1731
 
1603
1732
  // Virtual methods
1604
1733
  /**
1734
+ * a {@link GstGL.GLBaseMemoryAllocatorAllocFunction}
1605
1735
  * @param params the {@link GstGL.GLAllocationParams} to allocate the memory with
1606
1736
  * @virtual
1607
1737
  */
@@ -1711,6 +1841,9 @@ export namespace GstGL {
1711
1841
  "notify::max-last-buffer-repeat": (pspec: GObject.ParamSpec) => void;
1712
1842
  "notify::repeat-after-eos": (pspec: GObject.ParamSpec) => void;
1713
1843
  "notify::zorder": (pspec: GObject.ParamSpec) => void;
1844
+ "notify::current-level-buffers": (pspec: GObject.ParamSpec) => void;
1845
+ "notify::current-level-bytes": (pspec: GObject.ParamSpec) => void;
1846
+ "notify::current-level-time": (pspec: GObject.ParamSpec) => void;
1714
1847
  "notify::emit-signals": (pspec: GObject.ParamSpec) => void;
1715
1848
  "notify::caps": (pspec: GObject.ParamSpec) => void;
1716
1849
  "notify::direction": (pspec: GObject.ParamSpec) => void;
@@ -1840,20 +1973,29 @@ export namespace GstGL {
1840
1973
 
1841
1974
  // Virtual methods
1842
1975
  /**
1976
+ * called in the GL thread to fill the current video texture.
1843
1977
  * @param mem
1844
1978
  * @virtual
1845
1979
  */
1846
1980
  vfunc_fill_gl_memory(mem: GLMemory): boolean;
1847
1981
 
1848
1982
  /**
1983
+ * called in the GL thread to setup the element GL state.
1849
1984
  * @virtual
1850
1985
  */
1851
1986
  vfunc_gl_start(): boolean;
1852
1987
 
1853
1988
  /**
1989
+ * called in the GL thread to setup the element GL state.
1854
1990
  * @virtual
1855
1991
  */
1856
1992
  vfunc_gl_stop(): void;
1993
+
1994
+ // Methods
1995
+ /**
1996
+ * @returns the configured {@link GstGL.GLContext}.
1997
+ */
1998
+ get_gl_context(): GLContext | null;
1857
1999
  }
1858
2000
 
1859
2001
 
@@ -2043,6 +2185,11 @@ export namespace GstGL {
2043
2185
  */
2044
2186
  static fixate_caps(context: GLContext, direction: Gst.PadDirection, caps: Gst.Caps, other: Gst.Caps): Gst.Caps;
2045
2187
 
2188
+ /**
2189
+ * @param context a {@link GstGL.GLContext}
2190
+ */
2191
+ static swizzle_shader_string(context: GLContext): string;
2192
+
2046
2193
  /**
2047
2194
  * Provides an implementation of {@link GstBase.BaseTransformClass}.transform_caps()
2048
2195
  * @param context a {@link GstGL.GLContext} to use for transforming `caps`
@@ -2052,6 +2199,18 @@ export namespace GstGL {
2052
2199
  */
2053
2200
  static transform_caps(context: GLContext, direction: Gst.PadDirection, caps: Gst.Caps, filter: Gst.Caps): Gst.Caps;
2054
2201
 
2202
+ /**
2203
+ * The returned glsl function has declaration:
2204
+ *
2205
+ * `vec3 yuv_to_rgb (vec3 rgb, vec3 offset, vec3 ycoeff, vec3 ucoeff, vec3 vcoeff);`
2206
+ *
2207
+ * The Y component is placed in the 0th index of the returned value, The U component in the
2208
+ * 1st, and the V component in the 2nd. offset, ycoeff, ucoeff, and vcoeff are the
2209
+ * specific coefficients and offset used for the conversion.
2210
+ * @param context a {@link GstGL.GLContext}
2211
+ */
2212
+ static yuv_to_rgb_shader_string(context: GLContext): string;
2213
+
2055
2214
  // Methods
2056
2215
  /**
2057
2216
  * Provides an implementation of {@link GstBase.BaseTransformClass}.decide_allocation()
@@ -2206,11 +2365,13 @@ export namespace GstGL {
2206
2365
  vfunc_check_feature(feature: string): boolean;
2207
2366
 
2208
2367
  /**
2368
+ * choose a format for the framebuffer
2209
2369
  * @virtual
2210
2370
  */
2211
2371
  vfunc_choose_format(): boolean;
2212
2372
 
2213
2373
  /**
2374
+ * create the OpenGL context
2214
2375
  * @param gl_api
2215
2376
  * @param other_context
2216
2377
  * @virtual
@@ -2218,6 +2379,7 @@ export namespace GstGL {
2218
2379
  vfunc_create_context(gl_api: GLAPI, other_context: GLContext): boolean;
2219
2380
 
2220
2381
  /**
2382
+ * destroy the OpenGL context
2221
2383
  * @virtual
2222
2384
  */
2223
2385
  vfunc_destroy_context(): void;
@@ -2569,7 +2731,7 @@ export namespace GstGL {
2569
2731
  * There are a number of environment variables that influence the choice of
2570
2732
  * platform and window system specific functionality.
2571
2733
  * - GST_GL_WINDOW influences the window system to use. Common values are
2572
- * 'x11', 'wayland', 'win32' or 'cocoa'.
2734
+ * 'x11', 'wayland', 'surfaceless', 'win32' or 'cocoa'.
2573
2735
  * - GST_GL_PLATFORM influences the OpenGL platform to use. Common values are
2574
2736
  * 'egl', 'glx', 'wgl' or 'cgl'.
2575
2737
  * - GST_GL_API influences the OpenGL API requested by the OpenGL platform.
@@ -2787,6 +2949,10 @@ export namespace GstGL {
2787
2949
 
2788
2950
  // Virtual methods
2789
2951
  /**
2952
+ * perform operations on the input and output buffers. In general,
2953
+ * you should avoid using this method if at all possible. One valid
2954
+ * use-case for using this is keeping previous buffers for future calculations.
2955
+ * Note: If `filter` exists, then `filter_texture` is not run
2790
2956
  * @param inbuf
2791
2957
  * @param outbuf
2792
2958
  * @virtual
@@ -2802,11 +2968,13 @@ export namespace GstGL {
2802
2968
  vfunc_filter_texture(input: GLMemory, output: GLMemory): boolean;
2803
2969
 
2804
2970
  /**
2971
+ * perform initialization when the Framebuffer object is created
2805
2972
  * @virtual
2806
2973
  */
2807
2974
  vfunc_init_fbo(): boolean;
2808
2975
 
2809
2976
  /**
2977
+ * mirror from {@link GstBase.BaseTransform}
2810
2978
  * @param incaps
2811
2979
  * @param outcaps
2812
2980
  * @virtual
@@ -2814,6 +2982,8 @@ export namespace GstGL {
2814
2982
  vfunc_set_caps(incaps: Gst.Caps, outcaps: Gst.Caps): boolean;
2815
2983
 
2816
2984
  /**
2985
+ * Perform sub-class specific modifications of the
2986
+ * caps to be processed between upload on input and before download for output.
2817
2987
  * @param direction
2818
2988
  * @param caps
2819
2989
  * @param filter_caps
@@ -3163,6 +3333,9 @@ export namespace GstGL {
3163
3333
  "notify::max-last-buffer-repeat": (pspec: GObject.ParamSpec) => void;
3164
3334
  "notify::repeat-after-eos": (pspec: GObject.ParamSpec) => void;
3165
3335
  "notify::zorder": (pspec: GObject.ParamSpec) => void;
3336
+ "notify::current-level-buffers": (pspec: GObject.ParamSpec) => void;
3337
+ "notify::current-level-bytes": (pspec: GObject.ParamSpec) => void;
3338
+ "notify::current-level-time": (pspec: GObject.ParamSpec) => void;
3166
3339
  "notify::emit-signals": (pspec: GObject.ParamSpec) => void;
3167
3340
  "notify::caps": (pspec: GObject.ParamSpec) => void;
3168
3341
  "notify::direction": (pspec: GObject.ParamSpec) => void;
@@ -3891,6 +4064,15 @@ export namespace GstGL {
3891
4064
  static get_input_template_caps(): Gst.Caps;
3892
4065
 
3893
4066
  // Methods
4067
+ /**
4068
+ * Fixate the `othercaps` based on the information of the `caps`.
4069
+ * @param direction the pad {@link Gst.PadDirection}
4070
+ * @param caps a {@link Gst.Caps} as the reference
4071
+ * @param othercaps a {@link Gst.Caps} to fixate
4072
+ * @returns the fixated caps
4073
+ */
4074
+ fixate_caps(direction: Gst.PadDirection, caps: Gst.Caps, othercaps: Gst.Caps): Gst.Caps;
4075
+
3894
4076
  get_caps(): [Gst.Caps | null, Gst.Caps | null];
3895
4077
 
3896
4078
  /**
@@ -4217,6 +4399,7 @@ export namespace GstGL {
4217
4399
 
4218
4400
  // Virtual methods
4219
4401
  /**
4402
+ * close the connection to the display
4220
4403
  * @virtual
4221
4404
  */
4222
4405
  vfunc_close(): void;
@@ -4234,11 +4417,15 @@ export namespace GstGL {
4234
4417
  vfunc_draw(): void;
4235
4418
 
4236
4419
  /**
4420
+ * Gets the current windowing system display connection
4237
4421
  * @virtual
4238
4422
  */
4239
4423
  vfunc_get_display(): bigint | number;
4240
4424
 
4241
4425
  /**
4426
+ * Gets the current window handle that this {@link GstGL.GLWindow} is
4427
+ * rendering into. This may return a different value to
4428
+ * what is passed into `set_window_handle`
4242
4429
  * @virtual
4243
4430
  */
4244
4431
  vfunc_get_window_handle(): bigint | number;
@@ -4261,6 +4448,7 @@ export namespace GstGL {
4261
4448
  vfunc_has_output_surface(): boolean;
4262
4449
 
4263
4450
  /**
4451
+ * open the connection to the display
4264
4452
  * @virtual
4265
4453
  */
4266
4454
  vfunc_open(): boolean;
@@ -4355,6 +4543,11 @@ export namespace GstGL {
4355
4543
  */
4356
4544
  get_display(): number;
4357
4545
 
4546
+ /**
4547
+ * @returns whether an visible output surface has been requested
4548
+ */
4549
+ get_request_output_surface(): boolean;
4550
+
4358
4551
  get_surface_dimensions(): [number, number];
4359
4552
 
4360
4553
  /**
@@ -4469,6 +4662,12 @@ export namespace GstGL {
4469
4662
  */
4470
4663
  set_render_rectangle(x: number, y: number, width: number, height: number): boolean;
4471
4664
 
4665
+ /**
4666
+ * Configure whether a visible output surface is requested.
4667
+ * @param output_surface whether to request an output surface.
4668
+ */
4669
+ set_request_output_surface(output_surface: boolean): void;
4670
+
4472
4671
  /**
4473
4672
  * Sets the resize callback called every time a resize of the window occurs.
4474
4673
  * @param callback function to invoke
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@girs/gstgl-1.0",
3
- "version": "4.2.0",
3
+ "version": "4.3.0",
4
4
  "description": "GJS TypeScript type definitions for GstGL-1.0",
5
5
  "type": "module",
6
6
  "module": "gstgl-1.0.js",
@@ -31,13 +31,13 @@
31
31
  "test": "tsc --project tsconfig.json"
32
32
  },
33
33
  "dependencies": {
34
- "@girs/gjs": "^4.2.0",
35
- "@girs/gstvideo-1.0": "^4.2.0",
36
- "@girs/gstbase-1.0": "^4.2.0",
37
- "@girs/gst-1.0": "^4.2.0",
38
- "@girs/gobject-2.0": "^4.2.0",
39
- "@girs/glib-2.0": "^4.2.0",
40
- "@girs/gmodule-2.0": "^4.2.0" },
34
+ "@girs/gjs": "^4.3.0",
35
+ "@girs/gstvideo-1.0": "^4.3.0",
36
+ "@girs/gstbase-1.0": "^4.3.0",
37
+ "@girs/gst-1.0": "^4.3.0",
38
+ "@girs/gobject-2.0": "^4.3.0",
39
+ "@girs/glib-2.0": "^4.3.0",
40
+ "@girs/gmodule-2.0": "^4.3.0" },
41
41
  "devDependencies": {
42
42
  "typescript": "*"
43
43
  },