### Class

# Gtk MediaFile

#### Description [src]

    abstract class Gtk.MediaFile : Gtk.MediaStream {
      parent_instance: GtkMediaStream
    }

`GtkMediaFile` implements `GtkMediaStream` for files.

This provides a simple way to play back video files with GTK.

GTK provides a GIO extension point for `GtkMediaFile` implementations to allow for external implementations using various media frameworks.

GTK itself includes implementations using GStreamer and ffmpeg.

#### Hierarchy

#### Ancestors

- GtkMediaStream
- GObject

#### Implements

- GdkPaintable

#### Constructors

###### gtk_media_file_new

Creates a new empty media file.

###### gtk_media_file_new_for_file

Creates a new media file to play `file`.

###### gtk_media_file_new_for_filename

Creates a new media file for the given filename.

###### gtk_media_file_new_for_input_stream

Creates a new media file to play `stream`.

###### gtk_media_file_new_for_resource

Creates a new new media file for the given resource.

#### Instance methods

###### gtk_media_file_clear

Resets the media file to be empty.

###### gtk_media_file_get_file

Returns the file that `self` is currently playing from.

###### gtk_media_file_get_input_stream

Returns the stream that `self` is currently playing from.

###### gtk_media_file_set_file

Sets the `GtkMediaFile` to play the given file.

###### gtk_media_file_set_filename

Sets the `GtkMediaFile to play the given file.

###### gtk_media_file_set_input_stream

Sets the `GtkMediaFile` to play the given stream.

###### gtk_media_file_set_resource

Sets the `GtkMediaFile to play the given resource.

##### Methods inherited from GtkMediaStream (31)

#### Properties

###### Gtk.MediaFile:file

The file being played back or `NULL` if not playing a file.

###### Gtk.MediaFile:input-stream

The stream being played back or `NULL` if not playing a stream.

##### Properties inherited from GtkMediaStream (13)

###### Gtk.MediaStream:duration

The stream’s duration in microseconds or 0 if unknown.

###### Gtk.MediaStream:ended

Set when playback has finished.

###### Gtk.MediaStream:error

`NULL` for a properly working stream or the `GError` that the stream is in.

###### Gtk.MediaStream:has-audio

Whether the stream contains audio.

###### Gtk.MediaStream:has-video

Whether the stream contains video.

###### Gtk.MediaStream:loop

Try to restart the media from the beginning once it ended.

###### Gtk.MediaStream:muted

Whether the audio stream should be muted.

###### Gtk.MediaStream:playing

Whether the stream is currently playing.

###### Gtk.MediaStream:prepared

Whether the stream has finished initializing and existence of audio and video is known.

###### Gtk.MediaStream:seekable

Set unless the stream is known to not support seeking.

###### Gtk.MediaStream:seeking

Set while a seek is in progress.

###### Gtk.MediaStream:timestamp

The current presentation timestamp in microseconds.

###### Gtk.MediaStream:volume

Volume of the audio stream.

#### Class structure

    struct GtkMediaFileClass {
      GtkMediaStreamClass parent_class;
      void (* open) (
        GtkMediaFile* self
      );
      void (* close) (
        GtkMediaFile* self
      );
      void (* _gtk_reserved1) (
    void
      );
      void (* _gtk_reserved2) (
    void
      );
      void (* _gtk_reserved3) (
    void
      );
      void (* _gtk_reserved4) (
    void
      );

    }

###### Class members

`parent_class` |
    GtkMediaStreamClass
| No description available.
`open` |
    void (* open) (
        GtkMediaFile* self
      )
| No description available.
`close` |
    void (* close) (
        GtkMediaFile* self
      )
| No description available.
`_gtk_reserved1` |
    void (* _gtk_reserved1) (
    void
      )
| No description available.
`_gtk_reserved2` |
    void (* _gtk_reserved2) (
    void
      )
| No description available.
`_gtk_reserved3` |
    void (* _gtk_reserved3) (
    void
      )
| No description available.
`_gtk_reserved4` |
    void (* _gtk_reserved4) (
    void
      )
| No description available.

#### Virtual methods

###### Gtk.MediaFileClass.close

No description available.

###### Gtk.MediaFileClass.open

No description available.