---
name: "dtk_load_video_file"
section: "3"
platform: "linux"
package: "libdrawtk-dev"
version: "2.0-2.1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/dtk_load_video_file"
---

# dtk\_load\_video\_file(3)

Load an video file as a texture

## NAME

dtk\_load\_video\_file - Load an video file as a texture

## SYNOPSIS

**#include \<dtk\_video.h\>**

**dtk\_htex dtk\_load\_video\_file(int** *flags***, const char \****filename***);**\

## DESCRIPTION

This function loads the video file specified by *filename* argument as a dynamic texture. The texture will then been tracked by an internal texture manager so that the next call using the same *filename* argument will return the same texture handle, thus sparing the resources of the system. If not specified by *flags* the video will not be played immediately and [**dtk\_video\_exec**(3)](/dtk_video_exec/3.md) should be called to do start playing.

The argument *flags* is used to modify the creation. It should contains a bitwise OR combination of the following flags:

-

  **DTK\_AUTOSTART** : Indicates that the video should start immediately after creation.

-

  **DTK\_NOBLOCKING** : Indicates that the creation function should not block waiting that the video pipeline is fully running.

A dynamic texture can be used the same way as a static texture (for example image file). The only difference is that the content of the texture changes automatically with the stream of video. This means that every time a shape using this texture is drawn, the latest frame available from the video stream will be mapped on the shape.

There is no need for a valid window to create successfully a texture, i.e. creation of textures are completely decoupled from the creation of others resources and can even be created in one thread to be used in another one.

Once a the texture is stopped being used, it should be destroyed by [**dtk\_destroy\_texture**(3)](/dtk_destroy_texture/3.md).

## RETURN VALUE

In case of success, the function returns the handle to the created texture. In case of failure, *NULL* is returned.

## THREAD SAFETY

**dtk\_load\_video\_file**() is thread-safe.

## SEE ALSO

[**dtk\_destroy\_texture**(3)](/dtk_destroy_texture/3.md), [**dtk\_video\_exec**(3)](/dtk_video_exec/3.md), [**dtk\_video\_getstate**(3)](/dtk_video_getstate/3.md)
