playback.c File Reference

#include <glib.h>
#include <pthread.h>
#include <libaudcore/audstrings.h>
#include <libaudcore/eventqueue.h>
#include <libaudcore/hook.h>
#include "audconfig.h"
#include "config.h"
#include "i18n.h"
#include "interface.h"
#include "output.h"
#include "playback.h"
#include "playlist.h"

Go to the source code of this file.

Functions

static gboolean playback_start (gint playlist, gint entry, gint seek_time, gboolean pause)
static void cancel_set_tuple (void)
static void read_gain_from_tuple (const Tuple *tuple)
static gboolean ready_cb (void *unused)
gboolean 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)
gint playback_get_time (void)
void playback_play (gint seek_time, gboolean pause)
void playback_pause (void)
static void playback_cleanup (void)
static void complete_stop (void)
void playback_stop (void)
static gboolean end_cb (void *unused)
static void * playback_thread (void *unused)
gboolean playback_get_playing (void)
gboolean playback_get_paused (void)
void playback_seek (gint time)
static void set_data (InputPlayback *p, void *data)
static void * get_data (InputPlayback *p)
static void set_params (InputPlayback *p, gint bitrate, gint samplerate, gint channels)
static gboolean set_tuple_cb (void *unused)
static void set_tuple (InputPlayback *p, Tuple *tuple)
static void set_gain_from_playlist (InputPlayback *p)
gchar * playback_get_title (void)
gint playback_get_length (void)
void playback_get_info (gint *bitrate, gint *samplerate, gint *channels)
void playback_get_volume (gint *l, gint *r)
void playback_set_volume (gint l, gint r)

Variables

static InputPlayback playback_api
static gboolean playing = FALSE
static gboolean playback_error
static gint failed_entries
static gint current_entry
static const gchar * current_filename
static InputPlugin * current_decoder
static void * current_data
static gint current_bitrate
static gint current_samplerate
static gint current_channels
static gchar * current_title
static gint current_length
static ReplayGainInfo gain_from_playlist
static gint time_offset
static gint start_time
static gint stop_time
static gboolean paused
static pthread_t playback_thread_handle
static gint end_source = 0
static pthread_mutex_t ready_mutex = PTHREAD_MUTEX_INITIALIZER
static pthread_cond_t ready_cond = PTHREAD_COND_INITIALIZER
static gboolean ready_flag
static gint ready_source = 0
static gint set_tuple_source = 0
static Tupletuple_to_be_set = NULL

Function Documentation

static void cancel_set_tuple ( void   )  [static]

Definition at line 70 of file playback.c.

Referenced by playback_cleanup(), and set_tuple().

static void complete_stop ( void   )  [static]

Definition at line 267 of file playback.c.

Referenced by end_cb(), and playback_stop().

static gboolean end_cb ( void *  unused  )  [static]

Definition at line 295 of file playback.c.

Referenced by playback_thread().

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

Definition at line 452 of file playback.c.

static void playback_cleanup ( void   )  [static]

Definition at line 247 of file playback.c.

Referenced by end_cb(), and playback_stop().

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

Definition at line 550 of file playback.c.

Referenced by drct_get_info(), and get_status_cb().

gint playback_get_length ( void   ) 

Definition at line 544 of file playback.c.

Referenced by drct_get_length(), get_status_cb(), and playback_seek().

gboolean playback_get_paused ( void   ) 
gboolean playback_get_playing ( void   ) 
gboolean playback_get_ready ( void   ) 

Definition at line 125 of file playback.c.

Referenced by drct_get_ready(), playback_get_time(), playback_get_title(), and update_cb().

gint playback_get_time ( void   ) 

Definition at line 186 of file playback.c.

Referenced by aud_config_save(), drct_get_time(), effect_enable(), and get_status_cb().

gchar* playback_get_title ( void   ) 

Definition at line 514 of file playback.c.

Referenced by drct_get_title().

void playback_get_volume ( gint l,
gint r 
)

Definition at line 558 of file playback.c.

Referenced by drct_get_volume(), and sw_volume_toggled().

void playback_pause ( void   ) 

Definition at line 231 of file playback.c.

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

void playback_play ( gint  seek_time,
gboolean  pause 
)
void playback_seek ( gint  time  ) 

Definition at line 432 of file playback.c.

Referenced by drct_play(), drct_seek(), and seek_cb().

void playback_set_volume ( gint  l,
gint  r 
)

Definition at line 567 of file playback.c.

Referenced by drct_set_volume().

static gboolean playback_start ( gint  playlist,
gint  entry,
gint  seek_time,
gboolean  pause 
) [static]

Definition at line 360 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 341 of file playback.c.

Referenced by playback_start().

static void read_gain_from_tuple ( const Tuple tuple  )  [static]

Definition at line 86 of file playback.c.

Referenced by playback_start(), and set_tuple().

static gboolean ready_cb ( void *  unused  )  [static]

Definition at line 115 of file playback.c.

Referenced by set_pb_ready().

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

Definition at line 446 of file playback.c.

static void set_gain_from_playlist ( InputPlayback *  p  )  [static]

Definition at line 498 of file playback.c.

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

Definition at line 458 of file playback.c.

static void set_pb_ready ( InputPlayback *  p  )  [static]

Definition at line 134 of file playback.c.

Referenced by playback_thread().

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

Definition at line 485 of file playback.c.

static gboolean set_tuple_cb ( void *  unused  )  [static]

Definition at line 470 of file playback.c.

Referenced by set_tuple().

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

Definition at line 157 of file playback.c.

Referenced by playback_cleanup(), and playback_start().

static void wait_until_ready ( void   )  [static]

Definition at line 146 of file playback.c.

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


Variable Documentation

Definition at line 50 of file playback.c.

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

Definition at line 50 of file playback.c.

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

void* current_data [static]

Definition at line 49 of file playback.c.

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

InputPlugin* current_decoder [static]
gint current_entry [static]

Definition at line 46 of file playback.c.

Referenced by playback_start(), and update_cb().

const gchar* current_filename [static]

Definition at line 47 of file playback.c.

Referenced by playback_start(), and playback_thread().

gint current_length [static]

Definition at line 50 of file playback.c.

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

gchar* current_title [static]

Definition at line 51 of file playback.c.

Referenced by playback_cleanup(), playback_get_title(), playback_start(), and update_cb().

gint end_source = 0 [static]

Definition at line 60 of file playback.c.

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

gint failed_entries [static]

Definition at line 44 of file playback.c.

Referenced by end_cb(), and playback_play().

Definition at line 54 of file playback.c.

gboolean paused [static]

Definition at line 57 of file playback.c.

Referenced by playback_get_paused(), playback_pause(), playback_start(), and playback_thread().

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 40 of file playback.c.

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

Definition at line 43 of file playback.c.

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

pthread_t playback_thread_handle [static]

Definition at line 59 of file playback.c.

Referenced by playback_cleanup(), and playback_start().

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

Definition at line 63 of file playback.c.

Referenced by set_pb_ready(), and wait_until_ready().

gboolean ready_flag [static]
pthread_mutex_t ready_mutex = PTHREAD_MUTEX_INITIALIZER [static]
gint ready_source = 0 [static]

Definition at line 65 of file playback.c.

Referenced by playback_cleanup(), ready_cb(), and set_pb_ready().

gint set_tuple_source = 0 [static]

Definition at line 67 of file playback.c.

Referenced by cancel_set_tuple(), set_tuple(), and set_tuple_cb().

gint start_time [static]

Definition at line 56 of file playback.c.

Referenced by playback_start(), and playback_thread().

gint stop_time [static]

Definition at line 56 of file playback.c.

Referenced by playback_start(), and playback_thread().

gint time_offset [static]

Definition at line 56 of file playback.c.

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

Tuple* tuple_to_be_set = NULL [static]

Definition at line 68 of file playback.c.


Generated on 27 Aug 2011 for Audacious by  doxygen 1.6.1