# lv_ffmpeg.h (/api/libs/ffmpeg/lv_ffmpeg_h)



<RelatedHeaders name="lv_ffmpeg_private.h" isPrivate="false" />

<ApiSummary functions="8" enums="1" variables="1" />

Functions [#functions]

<ApiTabs items="[&#x22;Setters (4)&#x22;,&#x22;Getters (1)&#x22;,&#x22;Other (3)&#x22;]">
  <ApiTab value="Setters (4)">
    <ApiMember kind="function" name="lv_ffmpeg_player_set_src" file="libs/ffmpeg/lv_ffmpeg.h" line="72" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/ffmpeg/lv_ffmpeg.h#L72">
      lv_ffmpeg_player_set_src [#lv_ffmpeg_player_set_src]

      Set the path of the file to be played.

      ```c title=" " lineNumbers=1
      lv_result_t lv_ffmpeg_player_set_src(lv_obj_t *obj, const char *path)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                             | Description                        |
      | ------ | ------------------------------------------------ | ---------------------------------- |
      | `obj`  | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a ffmpeg\_player object |
      | `path` | `const char *`                                   | video file path                    |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK: no error; LV\_RESULT\_INVALID: can't get the info.
    </ApiMember>

    <ApiMember kind="function" name="lv_ffmpeg_player_set_cmd" file="libs/ffmpeg/lv_ffmpeg.h" line="79" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/ffmpeg/lv_ffmpeg.h#L79">
      lv_ffmpeg_player_set_cmd [#lv_ffmpeg_player_set_cmd]

      Set command control video player

      ```c title=" " lineNumbers=1
      void lv_ffmpeg_player_set_cmd(lv_obj_t *obj, lv_ffmpeg_player_cmd_t cmd)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description                        |
      | ----- | ------------------------------------------------ | ---------------------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a ffmpeg\_player object |
      | `cmd` | <ApiLink name="lv_ffmpeg_player_cmd_t" />        | control commands                   |
    </ApiMember>

    <ApiMember kind="function" name="lv_ffmpeg_player_set_auto_restart" file="libs/ffmpeg/lv_ffmpeg.h" line="86" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/ffmpeg/lv_ffmpeg.h#L86">
      lv_ffmpeg_player_set_auto_restart [#lv_ffmpeg_player_set_auto_restart]

      Set the video to automatically replay

      ```c title=" " lineNumbers=1
      void lv_ffmpeg_player_set_auto_restart(lv_obj_t *obj, bool en)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description                        |
      | ----- | ------------------------------------------------ | ---------------------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a ffmpeg\_player object |
      | `en`  | <ApiLink name="bool" />                          | true: enable the auto restart      |
    </ApiMember>

    <ApiMember kind="function" name="lv_ffmpeg_player_set_decoder" file="libs/ffmpeg/lv_ffmpeg.h" line="93" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/ffmpeg/lv_ffmpeg.h#L93">
      lv_ffmpeg_player_set_decoder [#lv_ffmpeg_player_set_decoder]

      Set the video decoder

      ```c title=" " lineNumbers=1
      void lv_ffmpeg_player_set_decoder(lv_obj_t *obj, const char *decoder_name)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name           | Type                                             | Description                        |
      | -------------- | ------------------------------------------------ | ---------------------------------- |
      | `obj`          | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a ffmpeg\_player object |
      | `decoder_name` | `const char *`                                   | decoder name                       |
    </ApiMember>
  </ApiTab>

  <ApiTab value="Getters (1)">
    <ApiMember kind="function" name="lv_ffmpeg_get_frame_num" file="libs/ffmpeg/lv_ffmpeg.h" line="57" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/ffmpeg/lv_ffmpeg.h#L57">
      lv_ffmpeg_get_frame_num [#lv_ffmpeg_get_frame_num]

      Get the number of frames contained in the file

      ```c title=" " lineNumbers=1
      int lv_ffmpeg_get_frame_num(const char *path)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type           | Description              |
      | ------ | -------------- | ------------------------ |
      | `path` | `const char *` | image or video file name |

      **Returns:** `int` — Number of frames, less than 0 means failed
    </ApiMember>
  </ApiTab>

  <ApiTab value="Other (3)">
    <ApiMember kind="function" name="lv_ffmpeg_init" file="libs/ffmpeg/lv_ffmpeg.h" line="45" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/ffmpeg/lv_ffmpeg.h#L45">
      lv_ffmpeg_init [#lv_ffmpeg_init]

      Register FFMPEG image decoder

      ```c title=" " lineNumbers=1
      void lv_ffmpeg_init(void)
      ```
    </ApiMember>

    <ApiMember kind="function" name="lv_ffmpeg_deinit" file="libs/ffmpeg/lv_ffmpeg.h" line="50" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/ffmpeg/lv_ffmpeg.h#L50">
      lv_ffmpeg_deinit [#lv_ffmpeg_deinit]

      De-initialize FFMPEG image decoder

      ```c title=" " lineNumbers=1
      void lv_ffmpeg_deinit(void)
      ```
    </ApiMember>

    <ApiMember kind="function" name="lv_ffmpeg_player_create" file="libs/ffmpeg/lv_ffmpeg.h" line="64" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/ffmpeg/lv_ffmpeg.h#L64">
      lv_ffmpeg_player_create [#lv_ffmpeg_player_create]

      Create ffmpeg\_player object

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_ffmpeg_player_create(lv_obj_t *parent)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                             | Description                                                   |
      | -------- | ------------------------------------------------ | ------------------------------------------------------------- |
      | `parent` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to an object, it will be the parent of the new player |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to the created ffmpeg\_player
    </ApiMember>
  </ApiTab>
</ApiTabs>

Enums [#enums]

<ApiMember kind="enum" name="lv_ffmpeg_player_cmd_t" file="libs/ffmpeg/lv_ffmpeg.h" line="30" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/ffmpeg/lv_ffmpeg.h#L30">
  lv_ffmpeg_player_cmd_t [#lv_ffmpeg_player_cmd_t]

  | Name                          |
  | ----------------------------- |
  | `LV_FFMPEG_PLAYER_CMD_START`  |
  | `LV_FFMPEG_PLAYER_CMD_STOP`   |
  | `LV_FFMPEG_PLAYER_CMD_PAUSE`  |
  | `LV_FFMPEG_PLAYER_CMD_RESUME` |
  | `LV_FFMPEG_PLAYER_CMD_LAST`   |
</ApiMember>

<TypeUsedBy name="lv_ffmpeg_player_cmd_t" count="1">
  * `lv_ffmpeg_player_set_cmd` — param `cmd`
</TypeUsedBy>

Variables [#variables]

<ApiMember kind="variable" name="lv_ffmpeg_player_class" file="libs/ffmpeg/lv_ffmpeg.h" line="28" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/ffmpeg/lv_ffmpeg.h#L28">
  lv_ffmpeg_player_class [#lv_ffmpeg_player_class]

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

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_conf_internal.h&#x22;, &#x22;lv_types.h&#x22;]" includedBy="[&#x22;lv_ffmpeg_private.h&#x22;]" transitiveIncludes="[&#x22;lv_conf_kconfig.h&#x22;]" />
