#include <math.h>
#include <libaudcore/audio.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 {g_static_mutex_lock (& mutex); locked = TRUE;} while (0) |
#define | UNLOCK do {locked = FALSE; g_static_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 (gint *l, gint *r) |
void | output_set_volume (gint l, gint r) |
static void | reset_time (void) |
static void | drain (void) |
static void | real_close (void) |
static gboolean | open_audio (gint format, gint rate, gint channels) |
static gboolean | output_open_audio (gint format, gint rate, gint channels) |
static void | set_gain (ReplayGainInfo *info) |
static void | output_set_replaygain_info (ReplayGainInfo *info) |
static void | apply_replay_gain (gfloat *data, gint samples) |
static void | apply_software_volume (gfloat *data, gint channels, gint frames) |
static void | write_processed (void *data, gint samples) |
static void | write_audio (void *data, gint size) |
static void | output_write_audio (void *data, gint size) |
static void | close_audio (void) |
static void | output_close_audio (void) |
static void | do_pause (gboolean p) |
static void | output_pause (gboolean p) |
static void | flush (gint time) |
static void | output_flush (gint time) |
static gint | written_time (void) |
static gint | output_written_time (void) |
static void | write_buffers (void) |
static void | set_leave_open (void) |
static gboolean | output_buffer_playing (void) |
static void | abort_write (void) |
static void | output_abort_write (void) |
static gint | output_time (void) |
gint | get_output_time (void) |
gint | get_raw_output_time (void) |
void | output_drain (void) |
static gboolean | probe_cb (PluginHandle *p, PluginHandle **pp) |
PluginHandle * | output_plugin_probe (void) |
PluginHandle * | output_plugin_get_current (void) |
gboolean | output_plugin_set_current (PluginHandle *plugin) |
Variables | |
static OutputPlugin * | cop = NULL |
static GStaticMutex | mutex = G_STATIC_MUTEX_INIT |
static gboolean | locked = FALSE |
static gboolean | opened = FALSE |
static gboolean | leave_open = FALSE |
static gboolean | waiting |
static gboolean | aborted |
static gboolean | paused |
static gint | decoder_format |
static gint | decoder_channels |
static gint | decoder_rate |
static gint | effect_channels |
static gint | effect_rate |
static gint | output_format |
static gint | output_channels |
static gint | output_rate |
static gint64 | frames_written |
static gboolean | have_replay_gain |
static ReplayGainInfo | replay_gain_info |
struct OutputAPI | output_api |
Definition at line 68 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 72 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 70 of file output.c.
Referenced by abort_write(), close_audio(), drain(), set_gain(), set_leave_open(), write_audio(), and write_buffers().
Definition at line 71 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 74 of file output.c.
Referenced by do_pause(), flush(), real_close(), reset_time(), and write_processed().
Definition at line 75 of file output.c.
Referenced by open_audio().
#define SW_VOLUME_RANGE 40 |
Definition at line 34 of file output.c.
Referenced by apply_software_volume().
Definition at line 69 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 73 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 468 of file output.c.
Referenced by output_abort_write().
static void apply_replay_gain | ( | gfloat * | data, | |
gint | samples | |||
) | [static] |
Definition at line 193 of file output.c.
Referenced by write_audio().
Definition at line 226 of file output.c.
Referenced by write_processed().
static void close_audio | ( | void | ) | [static] |
Definition at line 349 of file output.c.
Referenced by output_close_audio().
static void do_pause | ( | gboolean | p | ) | [static] |
Definition at line 370 of file output.c.
Referenced by output_pause().
static void drain | ( | void | ) | [static] |
Definition at line 95 of file output.c.
Referenced by open_audio(), and output_drain().
static void flush | ( | gint | time | ) | [static] |
Definition at line 387 of file output.c.
Referenced by output_flush().
gint get_output_time | ( | void | ) |
Definition at line 505 of file output.c.
Referenced by playback_get_time().
gint get_raw_output_time | ( | void | ) |
Definition at line 521 of file output.c.
Referenced by send_audio().
Definition at line 111 of file output.c.
Referenced by output_open_audio().
void output_drain | ( | void | ) |
Definition at line 530 of file output.c.
Referenced by complete_stop().
Definition at line 38 of file output.c.
Referenced by playback_get_volume().
PluginHandle* output_plugin_get_current | ( | void | ) |
Definition at line 567 of file output.c.
Referenced by output_do_about(), and output_do_config().
PluginHandle* output_plugin_probe | ( | void | ) |
gboolean output_plugin_set_current | ( | PluginHandle * | plugin | ) |
static void output_set_replaygain_info | ( | ReplayGainInfo * | info | ) | [static] |
Definition at line 54 of file output.c.
Referenced by playback_set_volume().
static gint output_time | ( | void | ) | [static] |
Definition at line 498 of file output.c.
Referenced by get_output_time(), and get_raw_output_time().
static void output_write_audio | ( | void * | data, | |
gint | size | |||
) | [static] |
static gboolean probe_cb | ( | PluginHandle * | p, | |
PluginHandle ** | pp | |||
) | [static] |
Definition at line 545 of file output.c.
Referenced by output_plugin_probe().
static void real_close | ( | void | ) | [static] |
Definition at line 102 of file output.c.
Referenced by close_audio(), open_audio(), and output_drain().
static void reset_time | ( | void | ) | [static] |
Definition at line 87 of file output.c.
Referenced by open_audio().
static void set_gain | ( | ReplayGainInfo * | info | ) | [static] |
Definition at line 170 of file output.c.
Referenced by output_set_replaygain_info().
static void set_leave_open | ( | void | ) | [static] |
Definition at line 447 of file output.c.
Referenced by output_buffer_playing().
static void write_audio | ( | void * | data, | |
gint | size | |||
) | [static] |
Definition at line 307 of file output.c.
Referenced by output_write_audio().
static void write_buffers | ( | void | ) | [static] |
Definition at line 438 of file output.c.
Referenced by output_drain(), and set_leave_open().
static void write_processed | ( | void * | data, | |
gint | samples | |||
) | [static] |
Definition at line 257 of file output.c.
Referenced by write_audio(), and write_buffers().
static gint written_time | ( | void | ) | [static] |
Definition at line 422 of file output.c.
Referenced by output_written_time().
Definition at line 80 of file output.c.
Referenced by abort_write(), flush(), open_audio(), and write_processed().
OutputPlugin* cop = NULL [static] |
Definition at line 36 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().
gint decoder_channels [static] |
Definition at line 81 of file output.c.
Referenced by open_audio(), and write_audio().
gint decoder_format [static] |
Definition at line 81 of file output.c.
Referenced by open_audio(), and write_audio().
gint decoder_rate [static] |
Definition at line 81 of file output.c.
Referenced by flush(), open_audio(), and written_time().
gint effect_channels [static] |
Definition at line 81 of file output.c.
Referenced by open_audio().
gint effect_rate [static] |
Definition at line 81 of file output.c.
Referenced by open_audio().
gint64 frames_written [static] |
Definition at line 83 of file output.c.
Referenced by flush(), open_audio(), write_audio(), and written_time().
gboolean have_replay_gain [static] |
Definition at line 84 of file output.c.
Referenced by apply_replay_gain(), open_audio(), and set_gain().
gboolean leave_open = FALSE [static] |
Definition at line 78 of file output.c.
Referenced by close_audio(), open_audio(), output_drain(), output_time(), real_close(), and set_leave_open().
Definition at line 77 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, }
gint output_channels [static] |
Definition at line 81 of file output.c.
Referenced by open_audio(), and write_processed().
gint output_format [static] |
Definition at line 81 of file output.c.
Referenced by open_audio(), and write_processed().
gint output_rate [static] |
Definition at line 81 of file output.c.
Referenced by open_audio(), and write_processed().
Definition at line 80 of file output.c.
Referenced by do_pause(), effect_enable(), open_audio(), and set_leave_open().
ReplayGainInfo replay_gain_info [static] |
Definition at line 80 of file output.c.
Referenced by close_audio(), open_audio(), set_gain(), set_leave_open(), write_audio(), write_processed(), and written_time().