shout: use libshout's synchronization
Removed the manual timer synchronization from the shout plugin. libshout's shout_sync() function does it for us.
This commit is contained in:
parent
f6455d5f79
commit
f5c43889c3
1
NEWS
1
NEWS
@ -48,6 +48,7 @@ ver 0.14.2 (2009/??/??)
|
|||||||
- jack: reduced sleep time to 1ms
|
- jack: reduced sleep time to 1ms
|
||||||
- shout: fixed memory leak in the mp3 encoder
|
- shout: fixed memory leak in the mp3 encoder
|
||||||
- shout: switch to blocking mode
|
- shout: switch to blocking mode
|
||||||
|
- shout: use libshout's synchronization
|
||||||
* mapper: remove trailing slashes from music_directory
|
* mapper: remove trailing slashes from music_directory
|
||||||
* player: set player error when output device fails
|
* player: set player error when output device fails
|
||||||
|
|
||||||
|
@ -59,7 +59,6 @@ static struct shout_data *new_shout_data(void)
|
|||||||
ret->bitrate = -1;
|
ret->bitrate = -1;
|
||||||
ret->quality = -2.0;
|
ret->quality = -2.0;
|
||||||
ret->timeout = DEFAULT_CONN_TIMEOUT;
|
ret->timeout = DEFAULT_CONN_TIMEOUT;
|
||||||
ret->timer = NULL;
|
|
||||||
ret->buf.len = 0;
|
ret->buf.len = 0;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@ -73,8 +72,6 @@ static void free_shout_data(struct shout_data *sd)
|
|||||||
shout_free(sd->shout_conn);
|
shout_free(sd->shout_conn);
|
||||||
if (sd->tag)
|
if (sd->tag)
|
||||||
tag_free(sd->tag);
|
tag_free(sd->tag);
|
||||||
if (sd->timer)
|
|
||||||
timer_free(sd->timer);
|
|
||||||
|
|
||||||
g_free(sd);
|
g_free(sd);
|
||||||
}
|
}
|
||||||
@ -325,8 +322,8 @@ static void my_shout_finish_driver(void *data)
|
|||||||
|
|
||||||
static void my_shout_drop_buffered_audio(void *data)
|
static void my_shout_drop_buffered_audio(void *data)
|
||||||
{
|
{
|
||||||
|
G_GNUC_UNUSED
|
||||||
struct shout_data *sd = (struct shout_data *)data;
|
struct shout_data *sd = (struct shout_data *)data;
|
||||||
timer_reset(sd->timer);
|
|
||||||
|
|
||||||
/* needs to be implemented for shout */
|
/* needs to be implemented for shout */
|
||||||
}
|
}
|
||||||
@ -336,11 +333,6 @@ static void my_shout_close_device(void *data)
|
|||||||
struct shout_data *sd = (struct shout_data *)data;
|
struct shout_data *sd = (struct shout_data *)data;
|
||||||
|
|
||||||
close_shout_conn(sd);
|
close_shout_conn(sd);
|
||||||
|
|
||||||
if (sd->timer) {
|
|
||||||
timer_free(sd->timer);
|
|
||||||
sd->timer = NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int shout_connect(struct shout_data *sd)
|
static int shout_connect(struct shout_data *sd)
|
||||||
@ -380,19 +372,15 @@ static int open_shout_conn(void *data)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool my_shout_open_device(void *data,
|
static bool
|
||||||
struct audio_format *audio_format)
|
my_shout_open_device(void *data,
|
||||||
|
G_GNUC_UNUSED struct audio_format *audio_format)
|
||||||
{
|
{
|
||||||
struct shout_data *sd = (struct shout_data *)data;
|
struct shout_data *sd = (struct shout_data *)data;
|
||||||
|
|
||||||
if (open_shout_conn(sd) < 0)
|
if (open_shout_conn(sd) < 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (sd->timer)
|
|
||||||
timer_free(sd->timer);
|
|
||||||
|
|
||||||
sd->timer = timer_new(audio_format);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -420,11 +408,6 @@ my_shout_play(void *data, const char *chunk, size_t size)
|
|||||||
{
|
{
|
||||||
struct shout_data *sd = (struct shout_data *)data;
|
struct shout_data *sd = (struct shout_data *)data;
|
||||||
|
|
||||||
if (!sd->timer->started)
|
|
||||||
timer_start(sd->timer);
|
|
||||||
|
|
||||||
timer_add(sd->timer, size);
|
|
||||||
|
|
||||||
if (sd->tag != NULL)
|
if (sd->tag != NULL)
|
||||||
send_metadata(sd);
|
send_metadata(sd);
|
||||||
|
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
|
|
||||||
#include "../output_api.h"
|
#include "../output_api.h"
|
||||||
#include "../conf.h"
|
#include "../conf.h"
|
||||||
#include "../timer.h"
|
|
||||||
|
|
||||||
#include <shout/shout.h>
|
#include <shout/shout.h>
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
@ -72,8 +71,6 @@ struct shout_data {
|
|||||||
|
|
||||||
int timeout;
|
int timeout;
|
||||||
|
|
||||||
Timer *timer;
|
|
||||||
|
|
||||||
/* the configured audio format */
|
/* the configured audio format */
|
||||||
struct audio_format audio_format;
|
struct audio_format audio_format;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user