## AgsGstreamerFile

AgsGstreamerFile — gstreamer file

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_GSTREAMER_FILE_GET_OBJ_MUTEX()
#define | AGS_GSTREAMER_FILE_CHUNK_FRAME_COUNT()
gboolean | ags_gstreamer_file_test_flags ()
void | ags_gstreamer_file_set_flags ()
void | ags_gstreamer_file_unset_flags ()
gboolean | ags_gstreamer_file_check_suffix ()
GstEncodingProfile * | ags_gstreamer_file_create_wav_encoding_profile ()
GstEncodingProfile * | ags_gstreamer_file_create_mp3_encoding_profile ()
GstEncodingProfile * | ags_gstreamer_file_create_aac_encoding_profile ()
GstEncodingProfile * | ags_gstreamer_file_create_mp4_encoding_profile ()
GstEncodingProfile * | ags_gstreamer_file_create_mkv_encoding_profile ()
GstEncodingProfile * | ags_gstreamer_file_create_webm_encoding_profile ()
GstEncodingProfile * | ags_gstreamer_file_create_mpeg_encoding_profile ()
gboolean | ags_gstreamer_file_detect_encoding_profile ()
AgsGstreamerFile * | ags_gstreamer_file_new ()

## Properties

guint | audio-channels | Read / Write
guint | buffer-size | Read / Write
char * | filename | Read / Write
guint | format | Read / Write
guint | samplerate | Read / Write

## Types and Values

#define | AGS_GSTREAMER_FILE_DEFAULT_AUDIO_CHANNELS
#define | AGS_GSTREAMER_FILE_DEFAULT_FORMAT
#define | AGS_GSTREAMER_FILE_DEFAULT_FLUSH_IDLE
#define | AGS_GSTREAMER_FILE_DEFAULT_DISCOVERER_TIMEOUT

## Object Hierarchy

        GObject
        ╰── AgsGstreamerFile

## Includes

    #include <ags/audio/file/ags_gstreamer_file.h>

## Description

AgsGstreamerFile is the base object to ineract with libgstreamer-1.0 file support.

## Functions

### AGS_GSTREAMER_FILE_GET_OBJ_MUTEX()

    #define AGS_GSTREAMER_FILE_GET_OBJ_MUTEX(obj) (&(((AgsGstreamerFile *) obj)->obj_mutex))

### AGS_GSTREAMER_FILE_CHUNK_FRAME_COUNT()

    #define AGS_GSTREAMER_FILE_CHUNK_FRAME_COUNT(cc) (cc * 256)

### ags_gstreamer_file_test_flags ()

    gboolean
    ags_gstreamer_file_test_flags (AgsGstreamerFile *gstreamer_file,
                                   guint flags);

Test `flags` to be set on `gstreamer_file` .

#### Parameters

gstreamer_file | the AgsGstreamerFile |
flags | the flags |

#### Returns

`TRUE` if flags are set, else `FALSE`

Since: 3.6.0

### ags_gstreamer_file_set_flags ()

    void
    ags_gstreamer_file_set_flags (AgsGstreamerFile *gstreamer_file,
                                  guint flags);

Enable a feature of `gstreamer_file` .

#### Parameters

gstreamer_file | the AgsGstreamerFile |
flags | see AgsGstreamerFileFlags |

Since: 3.6.0

### ags_gstreamer_file_unset_flags ()

    void
    ags_gstreamer_file_unset_flags (AgsGstreamerFile *gstreamer_file,
                                    guint flags);

Disable a feature of `gstreamer_file` .

#### Parameters

gstreamer_file | the AgsGstreamerFile |
flags | see AgsGstreamerFileFlags |

Since: 3.6.0

### ags_gstreamer_file_check_suffix ()

    gboolean
    ags_gstreamer_file_check_suffix (gchar *filename);

Check suffix.

#### Parameters

filename | the filename |

#### Returns

`TRUE` if suffix supported, else `FALSE`

Since: 3.6.0

### ags_gstreamer_file_create_wav_encoding_profile ()

    GstEncodingProfile *
    ags_gstreamer_file_create_wav_encoding_profile
                                   (AgsGstreamerFile *gstreamer_file);

Create wav rw pipeline.

#### Parameters

gstreamer_file | the AgsGstreamerFile |

#### Returns

the new GstEncodingProfile

Since: 3.6.0

### ags_gstreamer_file_create_mp3_encoding_profile ()

    GstEncodingProfile *
    ags_gstreamer_file_create_mp3_encoding_profile
                                   (AgsGstreamerFile *gstreamer_file);

Create mp3 rw pipeline.

#### Parameters

gstreamer_file | the AgsGstreamerFile |

#### Returns

the new GstEncodingProfile

Since: 3.6.0

### ags_gstreamer_file_create_aac_encoding_profile ()

    GstEncodingProfile *
    ags_gstreamer_file_create_aac_encoding_profile
                                   (AgsGstreamerFile *gstreamer_file);

Create aac rw pipeline.

#### Parameters

gstreamer_file | the AgsGstreamerFile |

#### Returns

the new GstEncodingProfile

Since: 3.6.0

### ags_gstreamer_file_create_mp4_encoding_profile ()

    GstEncodingProfile *
    ags_gstreamer_file_create_mp4_encoding_profile
                                   (AgsGstreamerFile *gstreamer_file);

Create mp4 rw pipeline.

#### Parameters

gstreamer_file | the AgsGstreamerFile |

#### Returns

the new GstEncodingProfile

Since: 3.6.0

### ags_gstreamer_file_create_mkv_encoding_profile ()

    GstEncodingProfile *
    ags_gstreamer_file_create_mkv_encoding_profile
                                   (AgsGstreamerFile *gstreamer_file);

Create mkv rw pipeline.

#### Parameters

gstreamer_file | the AgsGstreamerFile |

#### Returns

the new GstEncodingProfile

Since: 3.6.0

### ags_gstreamer_file_create_webm_encoding_profile ()

    GstEncodingProfile *
    ags_gstreamer_file_create_webm_encoding_profile
                                   (AgsGstreamerFile *gstreamer_file);

Create webm rw pipeline.

#### Parameters

gstreamer_file | the AgsGstreamerFile |

#### Returns

the new GstEncodingProfile

Since: 3.6.0

### ags_gstreamer_file_create_mpeg_encoding_profile ()

    GstEncodingProfile *
    ags_gstreamer_file_create_mpeg_encoding_profile
                                   (AgsGstreamerFile *gstreamer_file);

Create mpeg rw pipeline.

#### Parameters

gstreamer_file | the AgsGstreamerFile |

#### Returns

the new GstEncodingProfile

Since: 3.6.0

### ags_gstreamer_file_detect_encoding_profile ()

    gboolean
    ags_gstreamer_file_detect_encoding_profile
                                   (AgsGstreamerFile *gstreamer_file);

Detect rw and create rw pipeline.

#### Parameters

gstreamer_file | the AgsGstreamerFile |

Since: 3.6.0

### ags_gstreamer_file_new ()

    AgsGstreamerFile *
    ags_gstreamer_file_new ();

Creates a new instance of AgsGstreamerFile.

#### Returns

the new AgsGstreamerFile.

Since: 3.6.0

## Types and Values

### AGS_GSTREAMER_FILE_DEFAULT_AUDIO_CHANNELS

    #define AGS_GSTREAMER_FILE_DEFAULT_AUDIO_CHANNELS (1)

### AGS_GSTREAMER_FILE_DEFAULT_FORMAT

    #define AGS_GSTREAMER_FILE_DEFAULT_FORMAT (AGS_SOUNDCARD_SIGNED_16_BIT)

### AGS_GSTREAMER_FILE_DEFAULT_FLUSH_IDLE

    #define AGS_GSTREAMER_FILE_DEFAULT_FLUSH_IDLE (4)

### AGS_GSTREAMER_FILE_DEFAULT_DISCOVERER_TIMEOUT

    #define AGS_GSTREAMER_FILE_DEFAULT_DISCOVERER_TIMEOUT (3 * GST_SECOND)

## Property Details

### The `“audio-channels”` property

      “audio-channels”           guint

The audio channels to be used.

Owner: AgsGstreamerFile

Flags: Read / Write

Default value: 0

Since: 3.6.0

### The `“buffer-size”` property

      “buffer-size”              guint

The buffer size to be used.

Owner: AgsGstreamerFile

Flags: Read / Write

Default value: 0

Since: 3.6.0

### The `“filename”` property

      “filename”                 char *

The assigned filename.

Owner: AgsGstreamerFile

Flags: Read / Write

Default value: NULL

Since: 3.6.0

### The `“format”` property

      “format”                   guint

The format to be used.

Owner: AgsGstreamerFile

Flags: Read / Write

Default value: 0

Since: 3.6.0

### The `“samplerate”` property

      “samplerate”               guint

The samplerate to be used.

Owner: AgsGstreamerFile

Flags: Read / Write

Default value: 0

Since: 3.6.0