# lv_gstreamer_private.h (/api/private/widgets/gstreamer/lv_gstreamer_private_h)



<RelatedHeaders name="lv_gstreamer.h" isPrivate="true" />

<ApiSummary structs="2" typedefs="1" macros="1" variables="1" />

Structs [#structs]

<ApiMember kind="struct" name="_lv_gstreamer_t">
  \_lv_gstreamer_t [#_lv_gstreamer_t]

  | Member                | Type                                                       | Description |
  | --------------------- | ---------------------------------------------------------- | ----------- |
  | `image`               | <ApiLink name="lv_image_t" />                              |             |
  | `frame`               | <ApiLink name="lv_image_dsc_t" />                          |             |
  | `video_info`          | `GstVideoInfo`                                             |             |
  | `last_map_info`       | `GstMapInfo`                                               |             |
  | `last_buffer`         | `GstBuffer *`                                              |             |
  | `last_sample`         | `GstSample *`                                              |             |
  | `pipeline`            | `GstElement *`                                             |             |
  | `audio_convert`       | `GstElement *`                                             |             |
  | `video_convert`       | `GstElement *`                                             |             |
  | `audio_volume`        | `GstElement *`                                             |             |
  | `aligned_frame`       | <ApiLink name="lv_draw_buf_t" display="lv_draw_buf_t *" /> |             |
  | `color_format`        | <ApiLink name="lv_color_format_t" />                       |             |
  | `gstreamer_timer`     | <ApiLink name="lv_timer_t" display="lv_timer_t *" />       |             |
  | `frame_queue`         | `GAsyncQueue *`                                            |             |
  | `is_video_info_valid` | `bool`                                                     |             |
</ApiMember>

<ApiMember kind="struct" name="frame_data_t">
  frame_data_t [#frame_data_t]

  | Member       | Type        | Description |
  | ------------ | ----------- | ----------- |
  | `frame_data` | `uint8_t *` |             |
  | `width`      | `uint32_t`  |             |
  | `height`     | `uint32_t`  |             |
  | `stride`     | `uint32_t`  |             |
  | `data_size`  | `size_t`    |             |
</ApiMember>

Typedefs [#typedefs]

<ApiMember kind="typedef" name="lv_gstreamer_t" file="private/widgets/gstreamer/lv_gstreamer_private.h" line="67" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/widgets/gstreamer/lv_gstreamer_private.h#L67">
  lv_gstreamer_t [#lv_gstreamer_t]

  ```c title=" " lineNumbers=1
  typedef struct _lv_gstreamer_t lv_gstreamer_t
  ```
</ApiMember>

Macros [#macros]

<ApiMember kind="macro" name="LV_GSTREAMER_MAX_QUEUED_FRAMES" file="private/widgets/gstreamer/lv_gstreamer_private.h" line="35" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/widgets/gstreamer/lv_gstreamer_private.h#L35">
  LV_GSTREAMER_MAX_QUEUED_FRAMES [#lv_gstreamer_max_queued_frames]

  ```c title=" " lineNumbers=1
  #define LV_GSTREAMER_MAX_QUEUED_FRAMES 2
  ```

  How many decoded frames may wait to be displayed. Only the newest one is ever shown, so this only has to absorb the jitter between the thread that decodes and the LVGL timer that displays.
</ApiMember>

Variables [#variables]

<ApiMember kind="variable" name="lv_gstreamer_class" file="private/widgets/gstreamer/lv_gstreamer_private.h" line="69" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/widgets/gstreamer/lv_gstreamer_private.h#L69">
  lv_gstreamer_class [#lv_gstreamer_class]

  ```c title=" " lineNumbers=1
  const lv_obj_class_t lv_gstreamer_class
  ```
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lvgl_public.h&#x22;, &#x22;gst.h&#x22;, &#x22;video.h&#x22;, &#x22;lv_image_private.h&#x22;]" includedBy="[&#x22;lvgl_private.h&#x22;]" transitiveIncludes="[&#x22;lv_array.h&#x22;, &#x22;lv_event_private.h&#x22;, &#x22;lv_obj_private.h&#x22;]" />
