#include <glib.h>
#include <math.h>
#include <pthread.h>
#include <string.h>
#include "debug.h"
#include "effect.h"
#include "equalizer.h"
#include "misc.h"
#include "output.h"
#include "playback.h"
#include "plugins.h"
#include "vis_runner.h"
Go to the source code of this file.
Defines | |
#define | SW_VOLUME_RANGE 40 |
#define | LOCK do {pthread_mutex_lock (& mutex); locked = TRUE;} while (0) |
#define | UNLOCK do {locked = FALSE; pthread_mutex_unlock (& mutex);} while (0) |
#define | LOCKED g_return_if_fail (locked) |
#define | LOCKED_RET(a) g_return_val_if_fail (locked, a) |
#define | LOCK_VIS do {vis_runner_lock (); LOCK;} while (0) |
#define | UNLOCK_VIS do {UNLOCK; vis_runner_unlock ();} while (0) |
#define | LOCKED_VIS g_return_if_fail (locked && vis_runner_locked ()) |
#define | LOCKED_VIS_RET(a) g_return_val_if_fail (locked && vis_runner_locked (), a) |
Functions | |
void | output_get_volume (int *l, int *r) |
void | output_set_volume (int l, int r) |
static void | reset_time (void) |
static void | drain (void) |
static void | real_close (void) |
static bool_t | open_audio (int format, int rate, int channels) |
static bool_t | output_open_audio (int format, int rate, int channels) |
static void | set_gain (ReplayGainInfo *info) |
static void | output_set_replaygain_info (ReplayGainInfo *info) |
static void | apply_replay_gain (float *data, int samples) |
static void | apply_software_volume (float *data, int channels, int frames) |
static void | write_processed (void *data, int samples) |
static void | write_audio (void *data, int size) |
static void | output_write_audio (void *data, int size) |
static void | close_audio (void) |
static void | output_close_audio (void) |
static void | do_pause (bool_t p) |
static void | output_pause (bool_t p) |
static void | flush (int time) |
static void | output_flush (int time) |
static int | written_time (void) |
static int | output_written_time (void) |
static void | write_buffers (void) |
static void | set_leave_open (void) |
static bool_t | output_buffer_playing (void) |
static void | abort_write (void) |
static void | output_abort_write (void) |
static int | output_time (void) |
int | get_output_time (void) |
int | get_raw_output_time (void) |
void | output_drain (void) |
static bool_t | probe_cb (PluginHandle *p, PluginHandle **pp) |
PluginHandle * | output_plugin_probe (void) |
PluginHandle * | output_plugin_get_current (void) |
bool_t | output_plugin_set_current (PluginHandle *plugin) |
Variables | |
static OutputPlugin * | cop = NULL |
static pthread_mutex_t | mutex = PTHREAD_MUTEX_INITIALIZER |
static bool_t | locked = FALSE |
static bool_t | opened = FALSE |
static bool_t | leave_open = FALSE |
static bool_t | waiting |
static bool_t | aborted |
static bool_t | paused |
static int | decoder_format |
static int | decoder_channels |
static int | decoder_rate |
static int | effect_channels |
static int | effect_rate |
static int | output_format |
static int | output_channels |
static int | output_rate |
static int64_t | frames_written |
static bool_t | have_replay_gain |
static ReplayGainInfo | replay_gain_info |
struct OutputAPI | output_api |
Definition at line 70 of file output.c.
Referenced by get_output_time(), get_raw_output_time(), output_abort_write(), output_set_replaygain_info(), and output_written_time().
#define LOCK_VIS do {vis_runner_lock (); LOCK;} while (0) |
Definition at line 74 of file output.c.
Referenced by output_buffer_playing(), output_close_audio(), output_drain(), output_flush(), output_open_audio(), output_pause(), output_write_audio(), and write_processed().
#define LOCKED g_return_if_fail (locked) |
Definition at line 72 of file output.c.
Referenced by abort_write(), close_audio(), drain(), set_gain(), set_leave_open(), write_audio(), and write_buffers().
Definition at line 73 of file output.c.
Referenced by output_time(), and written_time().
#define LOCKED_VIS g_return_if_fail (locked && vis_runner_locked ()) |
Definition at line 76 of file output.c.
Referenced by do_pause(), flush(), real_close(), reset_time(), and write_processed().
Definition at line 77 of file output.c.
Referenced by open_audio().
#define SW_VOLUME_RANGE 40 |
Definition at line 36 of file output.c.
Referenced by apply_software_volume().
Definition at line 71 of file output.c.
Referenced by get_output_time(), get_raw_output_time(), output_abort_write(), output_set_replaygain_info(), output_written_time(), and plugin_registry_load().
#define UNLOCK_VIS do {UNLOCK; vis_runner_unlock ();} while (0) |
Definition at line 75 of file output.c.
Referenced by output_buffer_playing(), output_close_audio(), output_drain(), output_flush(), output_open_audio(), output_pause(), output_write_audio(), and write_processed().
static void abort_write | ( | void | ) | [static] |
Definition at line 470 of file output.c.
Referenced by output_abort_write().
static void apply_replay_gain | ( | float * | data, | |
int | samples | |||
) | [static] |
Definition at line 195 of file output.c.
Referenced by write_audio().
Definition at line 228 of file output.c.
Referenced by write_processed().
static void close_audio | ( | void | ) | [static] |
Definition at line 351 of file output.c.
Referenced by output_close_audio().
static void do_pause | ( | bool_t | p | ) | [static] |
Definition at line 372 of file output.c.
Referenced by output_pause().
static void drain | ( | void | ) | [static] |
Definition at line 97 of file output.c.
Referenced by open_audio(), and output_drain().
static void flush | ( | int | time | ) | [static] |
Definition at line 389 of file output.c.
Referenced by output_flush().
int get_output_time | ( | void | ) |
Definition at line 507 of file output.c.
Referenced by playback_get_time().
int get_raw_output_time | ( | void | ) |
Definition at line 523 of file output.c.
Referenced by send_audio().
Definition at line 113 of file output.c.
Referenced by output_open_audio().
void output_drain | ( | void | ) |
Definition at line 532 of file output.c.
Referenced by complete_stop().
Definition at line 40 of file output.c.
Referenced by playback_get_volume().
PluginHandle* output_plugin_get_current | ( | void | ) |
Definition at line 569 of file output.c.
Referenced by output_do_about(), and output_do_config().
PluginHandle* output_plugin_probe | ( | void | ) |
bool_t output_plugin_set_current | ( | PluginHandle * | plugin | ) |
static void output_set_replaygain_info | ( | ReplayGainInfo * | info | ) | [static] |
Definition at line 56 of file output.c.
Referenced by playback_set_volume().
static int output_time | ( | void | ) | [static] |
Definition at line 500 of file output.c.
Referenced by get_output_time(), and get_raw_output_time().
static void output_write_audio | ( | void * | data, | |
int | size | |||
) | [static] |
static bool_t probe_cb | ( | PluginHandle * | p, | |
PluginHandle ** | pp | |||
) | [static] |
Definition at line 547 of file output.c.
Referenced by output_plugin_probe().
static void real_close | ( | void | ) | [static] |
Definition at line 104 of file output.c.
Referenced by close_audio(), open_audio(), and output_drain().
static void reset_time | ( | void | ) | [static] |
Definition at line 89 of file output.c.
Referenced by open_audio().
static void set_gain | ( | ReplayGainInfo * | info | ) | [static] |
Definition at line 172 of file output.c.
Referenced by output_set_replaygain_info().
static void set_leave_open | ( | void | ) | [static] |
Definition at line 449 of file output.c.
Referenced by output_buffer_playing().
static void write_audio | ( | void * | data, | |
int | size | |||
) | [static] |
Definition at line 309 of file output.c.
Referenced by output_write_audio().
static void write_buffers | ( | void | ) | [static] |
Definition at line 440 of file output.c.
Referenced by output_drain(), and set_leave_open().
static void write_processed | ( | void * | data, | |
int | samples | |||
) | [static] |
Definition at line 259 of file output.c.
Referenced by write_audio(), and write_buffers().
static int written_time | ( | void | ) | [static] |
Definition at line 424 of file output.c.
Referenced by output_written_time().
Definition at line 82 of file output.c.
Referenced by abort_write(), flush(), open_audio(), and write_processed().
OutputPlugin* cop = NULL [static] |
Definition at line 38 of file output.c.
Referenced by abort_write(), do_pause(), drain(), flush(), get_output_time(), get_raw_output_time(), open_audio(), output_abort_write(), output_buffer_playing(), output_close_audio(), output_drain(), output_flush(), output_get_volume(), output_open_audio(), output_pause(), output_plugin_get_current(), output_plugin_set_current(), output_set_replaygain_info(), output_set_volume(), output_time(), output_write_audio(), output_written_time(), real_close(), reset_time(), and write_processed().
int decoder_channels [static] |
Definition at line 83 of file output.c.
Referenced by open_audio(), and write_audio().
int decoder_format [static] |
Definition at line 83 of file output.c.
Referenced by open_audio(), and write_audio().
int decoder_rate [static] |
Definition at line 83 of file output.c.
Referenced by flush(), open_audio(), and written_time().
int effect_channels [static] |
Definition at line 83 of file output.c.
Referenced by open_audio().
int effect_rate [static] |
Definition at line 83 of file output.c.
Referenced by open_audio().
int64_t frames_written [static] |
Definition at line 85 of file output.c.
Referenced by flush(), open_audio(), write_audio(), and written_time().
bool_t have_replay_gain [static] |
Definition at line 86 of file output.c.
Referenced by apply_replay_gain(), open_audio(), and set_gain().
bool_t leave_open = FALSE [static] |
Definition at line 80 of file output.c.
Referenced by close_audio(), open_audio(), output_drain(), output_time(), real_close(), and set_leave_open().
Definition at line 79 of file output.c.
Referenced by abort_write(), close_audio(), do_pause(), flush(), get_output_time(), open_audio(), output_time(), real_close(), set_gain(), set_leave_open(), write_audio(), and written_time().
struct OutputAPI output_api |
{ .open_audio = output_open_audio, .set_replaygain_info = output_set_replaygain_info, .write_audio = output_write_audio, .close_audio = output_close_audio, .pause = output_pause, .flush = output_flush, .written_time = output_written_time, .buffer_playing = output_buffer_playing, .abort_write = output_abort_write, }
int output_channels [static] |
Definition at line 83 of file output.c.
Referenced by open_audio(), and write_processed().
int output_format [static] |
Definition at line 83 of file output.c.
Referenced by open_audio(), and write_processed().
int output_rate [static] |
Definition at line 83 of file output.c.
Referenced by open_audio(), and write_processed().
Definition at line 82 of file output.c.
Referenced by do_pause(), effect_enable(), open_audio(), and set_leave_open().
ReplayGainInfo replay_gain_info [static] |
Definition at line 82 of file output.c.
Referenced by close_audio(), open_audio(), set_gain(), set_leave_open(), write_audio(), write_processed(), and written_time().