## AgsGstreamerClient

AgsGstreamerClient — gstreamer connection

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_GSTREAMER_CLIENT_GET_OBJ_MUTEX()
gboolean | ags_gstreamer_client_test_flags ()
void | ags_gstreamer_client_set_flags ()
void | ags_gstreamer_client_unset_flags ()
GList * | ags_gstreamer_client_find_uuid ()
GList * | ags_gstreamer_client_find ()
void | ags_gstreamer_client_open ()
void | ags_gstreamer_client_close ()
void | ags_gstreamer_client_add_device ()
void | ags_gstreamer_client_remove_device ()
void | ags_gstreamer_client_add_port ()
void | ags_gstreamer_client_remove_port ()
void | ags_gstreamer_client_activate ()
void | ags_gstreamer_client_deactivate ()
AgsGstreamerClient * | ags_gstreamer_client_new ()

## Properties

char * | client-name | Read / Write
gpointer | device | Read / Write
AgsGstreamerServer * | gstreamer-server | Read / Write
gpointer | port | Read / Write

## Types and Values

enum | AgsGstreamerClientFlags

## Object Hierarchy

        GFlags
        ╰── AgsGstreamerClientFlags
        GObject
        ╰── AgsGstreamerClient

## Includes

    #include <ags/audio/gstreamer/ags_gstreamer_client.h>

## Description

The AgsGstreamerClient communicates with a gstreamer instance.

## Functions

### AGS_GSTREAMER_CLIENT_GET_OBJ_MUTEX()

    #define AGS_GSTREAMER_CLIENT_GET_OBJ_MUTEX(obj) (&(((AgsGstreamerClient *) obj)->obj_mutex))

### ags_gstreamer_client_test_flags ()

    gboolean
    ags_gstreamer_client_test_flags (AgsGstreamerClient *gstreamer_client,
                                     AgsGstreamerClientFlags flags);

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

#### Parameters

gstreamer_client | the AgsGstreamerClient |
flags | the flags |

#### Returns

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

Since: 3.6.0

### ags_gstreamer_client_set_flags ()

    void
    ags_gstreamer_client_set_flags (AgsGstreamerClient *gstreamer_client,
                                    AgsGstreamerClientFlags flags);

Enable a feature of `gstreamer_client` .

#### Parameters

gstreamer_client | the AgsGstreamerClient |
flags | see AgsGstreamerClientFlags |

Since: 3.6.0

### ags_gstreamer_client_unset_flags ()

    void
    ags_gstreamer_client_unset_flags (AgsGstreamerClient *gstreamer_client,
                                      AgsGstreamerClientFlags flags);

Disable a feature of `gstreamer_client` .

#### Parameters

gstreamer_client | the AgsGstreamerClient |
flags | see AgsGstreamerClientFlags |

Since: 3.6.0

### ags_gstreamer_client_find_uuid ()

    GList *
    ags_gstreamer_client_find_uuid (GList *gstreamer_client,
                                    gchar *client_uuid);

Finds next match of `client_uuid` in `gstreamer_client` .

#### Parameters

gstreamer_client | the GList containing AgsGstreamerClient. | [element-type AgsAudio.GstreamerClient][transfer none]
client_uuid | the client uuid to find |

#### Returns

the next matching GList or `NULL`.

[element-type AgsAudio.GstreamerClient][transfer none]

Since: 3.6.0

### ags_gstreamer_client_find ()

    GList *
    ags_gstreamer_client_find (GList *gstreamer_client,
                               gchar *client_name);

Finds next match of `client_name` in `gstreamer_client` .

#### Parameters

gstreamer_client | the GList containing AgsGstreamerClient. | [element-type AgsAudio.GstreamerClient][transfer none]
client_name | the client name to find |

#### Returns

the next matching GList or `NULL`.

[element-type AgsAudio.GstreamerClient][transfer none]

Since: 3.6.0

### ags_gstreamer_client_open ()

    void
    ags_gstreamer_client_open (AgsGstreamerClient *gstreamer_client,
                               gchar *client_name);

Open the gstreamer client's connection and read uuid.

#### Parameters

gstreamer_client | the AgsGstreamerClient |
client_name | the client's name |

Since: 3.6.0

### ags_gstreamer_client_close ()

    void
    ags_gstreamer_client_close (AgsGstreamerClient *gstreamer_client);

Close the gstreamer client's connection.

#### Parameters

gstreamer_client | the AgsGstreamerClient |

Since: 3.6.0

### ags_gstreamer_client_add_device ()

    void
    ags_gstreamer_client_add_device (AgsGstreamerClient *gstreamer_client,
                                     GObject *gstreamer_device);

Add `gstreamer_device` to `gstreamer_client` .

#### Parameters

gstreamer_client | the AgsGstreamerClient |
gstreamer_device | an AgsGstreamerDevout or AgsGstreamerDevin |

Since: 3.6.0

### ags_gstreamer_client_remove_device ()

    void
    ags_gstreamer_client_remove_device (AgsGstreamerClient *gstreamer_client,
                                        GObject *gstreamer_device);

Remove `gstreamer_device` from `gstreamer_client` .

#### Parameters

gstreamer_client | the AgsGstreamerClient |
gstreamer_device | an AgsGstreamerDevout or AgsGstreamerDevin |

Since: 3.6.0

### ags_gstreamer_client_add_port ()

    void
    ags_gstreamer_client_add_port (AgsGstreamerClient *gstreamer_client,
                                   GObject *gstreamer_port);

Add `gstreamer_port` to `gstreamer_client` .

#### Parameters

gstreamer_client | the AgsGstreamerClient |
gstreamer_port | an AgsGstreamerPort |

Since: 3.6.0

### ags_gstreamer_client_remove_port ()

    void
    ags_gstreamer_client_remove_port (AgsGstreamerClient *gstreamer_client,
                                      GObject *gstreamer_port);

Remove `gstreamer_port` from `gstreamer_client` .

#### Parameters

gstreamer_client | the AgsGstreamerClient |
gstreamer_port | an AgsGstreamerPort |

Since: 3.6.0

### ags_gstreamer_client_activate ()

    void
    ags_gstreamer_client_activate (AgsGstreamerClient *gstreamer_client);

Activate client.

#### Parameters

gstreamer_client | the AgsGstreamerClient |

Since: 3.6.0

### ags_gstreamer_client_deactivate ()

    void
    ags_gstreamer_client_deactivate (AgsGstreamerClient *gstreamer_client);

Deactivate client.

#### Parameters

gstreamer_client | the AgsGstreamerClient |

Since: 3.6.0

### ags_gstreamer_client_new ()

    AgsGstreamerClient *
    ags_gstreamer_client_new (GObject *gstreamer_server);

Create a new instance of AgsGstreamerClient.

#### Parameters

gstreamer_server | the assigned AgsGstreamerServer |

#### Returns

the new AgsGstreamerClient

Since: 3.6.0

## Types and Values

### enum AgsGstreamerClientFlags

Enum values to control the behavior or indicate internal state of AgsGstreamerClient by enable/disable as flags.

#### Members

AGS_GSTREAMER_CLIENT_ACTIVATED | the client was activated |
AGS_GSTREAMER_CLIENT_READY | the client is ready |

## Property Details

### The `“client-name”` property

      “client-name”              char *

The gstreamer client name.

Owner: AgsGstreamerClient

Flags: Read / Write

Default value: NULL

Since: 3.6.0

### The `“device”` property

      “device”                   gpointer

The assigned devices.

[transfer full]

Owner: AgsGstreamerClient

Flags: Read / Write

Since: 3.6.0

### The `“gstreamer-server”` property

      “gstreamer-server”         AgsGstreamerServer *

The assigned AgsGstreamerServer.

Owner: AgsGstreamerClient

Flags: Read / Write

Since: 3.6.0

### The `“port”` property

      “port”                     gpointer

The assigned ports.

[transfer full]

Owner: AgsGstreamerClient

Flags: Read / Write

Since: 3.6.0