Audacious $Id:Doxyfile42802007-03-2104:39:00Znenolod$
Functions | Variables
playback.c File Reference
#include <glib.h>
#include <pthread.h>
#include <string.h>
#include <libaudcore/audstrings.h>
#include <libaudcore/hook.h>
#include "config.h"
#include "i18n.h"
#include "interface.h"
#include "misc.h"
#include "output.h"
#include "playback.h"
#include "playlist.h"

Go to the source code of this file.

Functions

static void playback_start (int playlist, int entry, int seek_time, bool_t pause)
static void read_gain_from_tuple (const Tuple *tuple)
static bool_t update_from_playlist (void)
bool_t playback_get_ready (void)
static void set_pb_ready (InputPlayback *p)
static void wait_until_ready (void)
static void update_cb (void *hook_data, void *user_data)
int playback_get_time (void)
void playback_play (int seek_time, bool_t pause)
void playback_pause (void)
static void playback_cleanup (void)
static void complete_stop (void)
void playback_stop (void)
static bool_t end_cb (void *unused)
static void * playback_thread (void *unused)
bool_t playback_get_playing (void)
bool_t playback_get_paused (void)
void playback_seek (int time)
static void set_data (InputPlayback *p, void *data)
static void * get_data (InputPlayback *p)
static void set_params (InputPlayback *p, int bitrate, int samplerate, int channels)
static void set_tuple (InputPlayback *p, Tuple *tuple)
static void set_gain_from_playlist (InputPlayback *p)
char * playback_get_filename (void)
char * playback_get_title (void)
int playback_get_length (void)
void playback_get_info (int *bitrate, int *samplerate, int *channels)
void playback_get_volume (int *l, int *r)
void playback_set_volume (int l, int r)

Variables

static InputPlayback playback_api
static bool_t playing = FALSE
static bool_t playback_error
static int failed_entries
static char * current_filename
static int current_entry
static char * current_title
static int current_length
static InputPlugin * current_decoder
static void * current_data
static int current_bitrate
static int current_samplerate
static int current_channels
static ReplayGainInfo gain_from_playlist
static int time_offset
static int initial_seek
static bool_t paused
static pthread_t playback_thread_handle
static int end_source = 0
static pthread_mutex_t ready_mutex = PTHREAD_MUTEX_INITIALIZER
static pthread_cond_t ready_cond = PTHREAD_COND_INITIALIZER
static bool_t ready_flag

Function Documentation

static void complete_stop ( void  ) [static]

Definition at line 244 of file playback.c.

Referenced by end_cb(), and playback_stop().

static bool_t end_cb ( void *  unused) [static]

Definition at line 263 of file playback.c.

Referenced by playback_thread().

static void* get_data ( InputPlayback *  p) [static]

Definition at line 400 of file playback.c.

static void playback_cleanup ( void  ) [static]

Definition at line 219 of file playback.c.

Referenced by end_cb(), and playback_stop().

char* playback_get_filename ( void  )

Definition at line 442 of file playback.c.

Referenced by drct_get_filename().

void playback_get_info ( int bitrate,
int samplerate,
int channels 
)

Definition at line 484 of file playback.c.

Referenced by drct_get_info().

int playback_get_length ( void  )

Definition at line 476 of file playback.c.

Referenced by drct_get_length().

bool_t playback_get_paused ( void  )
bool_t playback_get_playing ( void  )
bool_t playback_get_ready ( void  )
int playback_get_time ( void  )

Definition at line 159 of file playback.c.

Referenced by drct_get_time(), effect_enable(), and playlist_save_state().

char* playback_get_title ( void  )

Definition at line 448 of file playback.c.

Referenced by drct_get_title().

void playback_get_volume ( int l,
int r 
)

Definition at line 494 of file playback.c.

Referenced by drct_get_volume(), and sw_volume_toggled().

void playback_pause ( void  )

Definition at line 202 of file playback.c.

Referenced by do_commands(), drct_pause(), and drct_play().

void playback_play ( int  seek_time,
bool_t  pause 
)
void playback_seek ( int  time)

Definition at line 380 of file playback.c.

Referenced by drct_play(), and drct_seek().

void playback_set_volume ( int  l,
int  r 
)

Definition at line 503 of file playback.c.

Referenced by drct_set_volume().

static void playback_start ( int  playlist,
int  entry,
int  seek_time,
bool_t  pause 
) [static]

Definition at line 345 of file playback.c.

Referenced by end_cb(), and playback_play().

void playback_stop ( void  )
static void* playback_thread ( void *  unused) [static]

Definition at line 300 of file playback.c.

Referenced by playback_start().

static void read_gain_from_tuple ( const Tuple *  tuple) [static]

Definition at line 68 of file playback.c.

Referenced by playback_thread(), and set_tuple().

static void set_data ( InputPlayback *  p,
void *  data 
) [static]

Definition at line 394 of file playback.c.

static void set_gain_from_playlist ( InputPlayback *  p) [static]

Definition at line 426 of file playback.c.

static void set_params ( InputPlayback *  p,
int  bitrate,
int  samplerate,
int  channels 
) [static]

Definition at line 406 of file playback.c.

static void set_pb_ready ( InputPlayback *  p) [static]

Definition at line 123 of file playback.c.

Referenced by playback_thread().

static void set_tuple ( InputPlayback *  p,
Tuple *  tuple 
) [static]

Definition at line 419 of file playback.c.

static void update_cb ( void *  hook_data,
void *  user_data 
) [static]

Definition at line 148 of file playback.c.

Referenced by playback_cleanup(), and playback_start().

static bool_t update_from_playlist ( void  ) [static]

Definition at line 95 of file playback.c.

Referenced by set_pb_ready(), and update_cb().

static void wait_until_ready ( void  ) [static]

Variable Documentation

int current_bitrate [static]

Definition at line 53 of file playback.c.

Referenced by playback_get_info(), playback_thread(), and set_params().

Definition at line 53 of file playback.c.

Referenced by playback_get_info(), playback_thread(), and set_params().

void* current_data [static]

Definition at line 52 of file playback.c.

Referenced by get_data(), playback_thread(), and set_data().

InputPlugin* current_decoder [static]
int current_entry [static]

Definition at line 47 of file playback.c.

Referenced by playback_start(), and update_from_playlist().

char* current_filename [static]
int current_length [static]

Definition at line 53 of file playback.c.

Referenced by playback_get_info(), playback_thread(), and set_params().

char* current_title [static]
int end_source = 0 [static]

Definition at line 61 of file playback.c.

Referenced by playback_cleanup(), and playback_thread().

int failed_entries [static]

Definition at line 43 of file playback.c.

Referenced by end_cb(), and playback_play().

Definition at line 55 of file playback.c.

Definition at line 57 of file playback.c.

Referenced by playback_start(), and playback_thread().

bool_t paused [static]

Definition at line 58 of file playback.c.

static InputPlayback playback_api [static]
Initial value:
 {
    .output = & output_api,
    .set_data = set_data,
    .get_data = get_data,
    .set_pb_ready = set_pb_ready,
    .set_params = set_params,
    .set_tuple = set_tuple,
    .set_gain_from_playlist = set_gain_from_playlist,
}

Definition at line 39 of file playback.c.

Referenced by playback_get_time(), playback_pause(), playback_seek(), playback_stop(), and playback_thread().

Definition at line 42 of file playback.c.

Referenced by end_cb(), playback_start(), and playback_thread().

pthread_t playback_thread_handle [static]

Definition at line 60 of file playback.c.

Referenced by playback_cleanup(), and playback_start().

bool_t playing = FALSE [static]
pthread_cond_t ready_cond = PTHREAD_COND_INITIALIZER [static]

Definition at line 64 of file playback.c.

Referenced by set_pb_ready(), and wait_until_ready().

bool_t ready_flag [static]
pthread_mutex_t ready_mutex = PTHREAD_MUTEX_INITIALIZER [static]

Definition at line 63 of file playback.c.

Referenced by playback_get_ready(), set_pb_ready(), and wait_until_ready().

int time_offset [static]

Definition at line 57 of file playback.c.

Referenced by playback_get_time(), playback_seek(), and playback_thread().