![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|
#include <jack/jack.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include "audio/audio_playback.h"#include "audio/types.h"#include "audio/utils.h"#include "debug.h"#include "host.h"#include "jack_common.h"#include "lib_common.h"#include "utils/audio_buffer.h"#include "utils/macros.h"#include "utils/ring_buffer.h"
Go to the source code of this file.
Classes | |
| struct | state_jack_playback |
Macros | |
| #define | MOD_NAME "[JACK playback] " |
Enumerations | |
| enum | { DEFAULT_AUDIO_BUF_LEN_MS = 50 , MAX_LEN_MS = 1000 , MAX_PORTS = 64 } |
Functions | |
| static bool | audio_play_jack_ctl (void *state, int request, void *data, size_t *len) |
| static void | audio_play_jack_done (void *state) |
| static void | audio_play_jack_help (const char *client_name) |
| static void * | audio_play_jack_init (const char *cfg) |
| static void | audio_play_jack_probe (struct device_info **available_devices, int *count, void(**deleter)(void *)) |
| static void | audio_play_jack_put_frame (void *state, const struct audio_frame *frame) |
| static bool | audio_play_jack_query_format (struct state_jack_playback *s, void *data, size_t *len) |
| static bool | audio_play_jack_reconfigure (void *state, struct audio_desc desc) |
| static int | jack_process_callback (jack_nframes_t nframes, void *arg) |
| static int | jack_samplerate_changed_callback (jack_nframes_t nframes, void *arg) |
| REGISTER_MODULE (jack, &aplay_jack_info, LIBRARY_CLASS_AUDIO_PLAYBACK, AUDIO_PLAYBACK_ABI_VERSION) | |
Variables | |
| static const struct audio_playback_info | aplay_jack_info |
Definition in file jack.c.
| anonymous enum |
| Enumerator | |
|---|---|
| DEFAULT_AUDIO_BUF_LEN_MS | |
| MAX_LEN_MS | |
| MAX_PORTS | |
|
static |
Definition at line 282 of file jack.c.
References audio_play_jack_query_format(), AUDIO_PLAYBACK_CTL_QUERY_FORMAT, state_jack_playback::data, len, and state.

|
static |
Definition at line 385 of file jack.c.
References state_jack_playback::buffer_fns, state_jack_playback::client, libjack_connection::client_close, close_libjack(), state_jack_playback::converted, state_jack_playback::data, audio_buffer_api::destroy, state_jack_playback::jack_ports_pattern, state_jack_playback::libjack, state, and state_jack_playback::tmp.

|
static |
Definition at line 132 of file jack.c.
References audio_jack_probe(), count, and name.
Referenced by audio_play_jack_init().

|
static |
Definition at line 154 of file jack.c.
References audio_play_jack_help(), state_jack_playback::client, libjack_connection::client_close, libjack_connection::client_open, close_libjack(), state_jack_playback::first_channel, libjack_connection::get_ports, libjack_connection::get_sample_rate, INIT_NOERR, state_jack_playback::jack_ports_count, state_jack_playback::jack_ports_pattern, jack_process_callback(), state_jack_playback::jack_sample_rate, jack_samplerate_changed_callback(), state_jack_playback::libjack, LOG_LEVEL_ERROR, LOG_LEVEL_INFO, log_msg(), MAX, MAX_PORTS, MOD_NAME, name, open_libjack(), state_jack_playback::output_port, libjack_connection::port_register, libjack_connection::set_process_callback, libjack_connection::set_sample_rate_callback, state_jack_playback::tmp, and val.

|
static |
|
static |
Definition at line 370 of file jack.c.
References state_jack_playback::buffer_fns, state_jack_playback::converted, state_jack_playback::data, frame, int2float(), len, LOG_LEVEL_WARNING, log_msg(), state_jack_playback::max_channel_len, MOD_NAME, state, and audio_buffer_api::write.

|
static |
Definition at line 261 of file jack.c.
References AC_PCM, desc, state_jack_playback::jack_ports_count, state_jack_playback::jack_sample_rate, len, LOG_LEVEL_ERROR, log_msg(), MIN, and MOD_NAME.
Referenced by audio_play_jack_ctl().

|
static |
Definition at line 294 of file jack.c.
References AC_PCM, libjack_connection::activate, audio_buffer_fns, audio_buffer_init(), audio_desc::bps, state_jack_playback::buffer_fns, audio_desc::ch_count, state_jack_playback::client, libjack_connection::connect, state_jack_playback::converted, state_jack_playback::data, libjack_connection::deactivate, DEFAULT_AUDIO_BUF_LEN_MS, desc, state_jack_playback::desc, audio_buffer_api::destroy, libjack_connection::disconnect, get_commandline_param(), libjack_connection::get_ports, state_jack_playback::jack_ports_count, state_jack_playback::jack_ports_pattern, state_jack_playback::jack_sample_rate, state_jack_playback::libjack, LOG_LEVEL_ERROR, LOG_LEVEL_INFO, LOG_LEVEL_WARNING, log_msg(), state_jack_playback::max_channel_len, MAX_LEN_MS, MOD_NAME, state_jack_playback::output_port, libjack_connection::port_name, ring_buffer_fns, ring_buffer_init(), audio_desc::sample_rate, state, and state_jack_playback::tmp.

|
static |
Definition at line 103 of file jack.c.
References state_jack_playback::buffer_fns, audio_desc::ch_count, state_jack_playback::data, demux_channel(), state_jack_playback::desc, len, state_jack_playback::libjack, LOG_LEVEL_WARNING, log_msg(), MOD_NAME, state_jack_playback::output_port, libjack_connection::port_get_buffer, audio_buffer_api::read, and state_jack_playback::tmp.

|
static |
Definition at line 84 of file jack.c.
References bug_msg(), state_jack_playback::jack_sample_rate, LOG_LEVEL_NOTICE, LOG_LEVEL_WARNING, log_msg(), and MOD_NAME.

| REGISTER_MODULE | ( | jack | , |
| & | aplay_jack_info, | ||
| LIBRARY_CLASS_AUDIO_PLAYBACK | , | ||
| AUDIO_PLAYBACK_ABI_VERSION | ) |
|
static |