RoarAudio/Programmieren/Stream

Aus UUGRN

Hier soll kurz anhand der dazu nötigen Funktionen beschrieben werden wie ein Klient Streams generell Manage gen kann.

Arbeiten mit Stream Objekten

int roar_stream_new_empty(struct roar_stream * s);
int roar_stream_new_by_id(struct roar_stream * s, int id);
int roar_stream_new     (struct roar_stream * s,
                         unsigned int rate, unsigned int channels, unsigned int bits,
                         unsigned int codec);

Diese Funktionen erzeugen ein Stream Objekt anhand der ihnen zur Verfügung gestellten Daten. roar_stream_new_by_id() ist vor allem zu verwenden um aus einer vorliegenden Stream ID ein Stream Objekt zu generieren um es für spätere API Call zus verwenden.

int roar_stream_set_rel_id(struct roar_stream * s, int id);
int roar_stream_get_rel_id(struct roar_stream * s);

Diese Funktionen dienen dazu die so genannte relative stream position ID zu setzen oder zu lesen.

int roar_stream_set_id (struct roar_stream * s, int id);
int roar_stream_get_id (struct roar_stream * s);

Diese Funktionen sind dazu da die Stream ID des Objektes fest zu legen oder aus zu lesen.

int roar_stream_set_dir (struct roar_stream * s, int dir);
int roar_stream_get_dir (struct roar_stream * s);

Mittels dieser Funktionen kann die stream direction (dir) für das Stream Objekt manipuliert oder ausgelesen werden.

Hinweis: Diese Funktionen manipulieren lediglich das lokale Objekt und kommunizieren nicht mit dem Server.

Daten über Stream mit Server austauschen

int roar_stream_get_info (struct roar_connection * con, struct roar_stream * s, struct roar_stream_info * info);
int roar_stream_get_name (struct roar_connection * con, struct roar_stream * s, char * name, size_t len);

int roar_stream_set_flags (struct roar_connection * con, struct roar_stream * s, int flags, int reset);
roar_list_streams(c,i,m) /* macro */
int roar_get_stream   (struct roar_connection * con, struct roar_stream * stream, int id);

Mixer

int roar_set_vol      (struct roar_connection * con, int id, struct roar_mixer_settings * mixer, int   channels);
int roar_get_vol      (struct roar_connection * con, int id, struct roar_mixer_settings * mixer, int * channels);

Streams erzeugen, verbinden und manipulieren

int roar_stream_attach_simple (struct roar_connection * con, struct roar_stream * s, int client);

int roar_kick         (struct roar_connection * con, int type, int id);


Siehe Auch

UUGRN-Wiki verbessern („Stub”)

Dieser Artikel ist leider sehr kurz. Also: Sei mutig und mache aus ihm bitte einen guten Artikel, wenn du mehr zum Thema „RoarAudio/Programmieren/Stream” weißt.