something

git-svn-id: https://svn.musicpd.org/mpd/trunk@2453 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes 2004-11-01 20:02:08 +00:00
parent eefe9df34e
commit 023fba803a
1 changed files with 13 additions and 23 deletions

View File

@ -255,23 +255,20 @@ static void flushEncoder(ShoutData * sd) {
}*/ }*/
static void clearEncoder(ShoutData * sd) { static void clearEncoder(ShoutData * sd) {
/*finishEncoder(sd);*/ /*finishEncoder(sd);
/*flushEncoder(sd);*/ flushEncoder(sd);*/
ogg_stream_clear(&(sd->os)); vorbis_comment_clear(&sd->vc);
vorbis_block_clear(&(sd->vb)); ogg_stream_clear(&sd->os);
vorbis_dsp_clear(&(sd->vd)); vorbis_block_clear(&sd->vb);
vorbis_comment_clear(&(sd->vc)); vorbis_dsp_clear(&sd->vd);
vorbis_info_clear(&(sd->vi)); vorbis_info_clear(&sd->vi);
} }
static void shout_closeShoutConn(ShoutData * sd) { static void shout_closeShoutConn(ShoutData * sd) {
DEBUG("closeShoutConn called\n");
if(sd->opened) { if(sd->opened) {
clearEncoder(sd); clearEncoder(sd);
shout_sync(sd->shoutConn);
if(shout_close(sd->shoutConn) != SHOUTERR_SUCCESS) { if(shout_close(sd->shoutConn) != SHOUTERR_SUCCESS) {
ERROR("problem closing connection to shout server: " ERROR("problem closing connection to shout server: "
"%s\n", shout_get_error(sd->shoutConn)); "%s\n", shout_get_error(sd->shoutConn));
@ -294,10 +291,6 @@ static void shout_finishDriver(AudioOutput * audioOutput) {
} }
static void shout_closeDevice(AudioOutput * audioOutput) { static void shout_closeDevice(AudioOutput * audioOutput) {
ShoutData * sd = (ShoutData *)audioOutput->data;
if(sd->opened) shout_sync(sd->shoutConn);
audioOutput->open = 0; audioOutput->open = 0;
} }
@ -388,8 +381,6 @@ static int initEncoder(ShoutData * sd) {
static int shout_openShoutConn(AudioOutput * audioOutput) { static int shout_openShoutConn(AudioOutput * audioOutput) {
ShoutData * sd = (ShoutData *)audioOutput->data; ShoutData * sd = (ShoutData *)audioOutput->data;
DEBUG("openShoutConn called\n");
if(shout_open(sd->shoutConn) != SHOUTERR_SUCCESS) if(shout_open(sd->shoutConn) != SHOUTERR_SUCCESS)
{ {
ERROR("problem opening connection to shout server: %s\n", ERROR("problem opening connection to shout server: %s\n",
@ -455,7 +446,7 @@ static int shout_openDevice(AudioOutput * audioOutput,
static void shout_convertAudioFormat(ShoutData * sd, char ** chunkArgPtr, static void shout_convertAudioFormat(ShoutData * sd, char ** chunkArgPtr,
int * sizeArgPtr) int * sizeArgPtr)
{ {
size_t size = pcm_sizeOfOutputBufferForAudioFormatConversion( int size = pcm_sizeOfOutputBufferForAudioFormatConversion(
&(sd->inAudioFormat), *sizeArgPtr, &(sd->inAudioFormat), *sizeArgPtr,
&(sd->outAudioFormat)); &(sd->outAudioFormat));
@ -540,15 +531,14 @@ static int shout_play(AudioOutput * audioOutput, char * playChunk, int size) {
while(vorbis_bitrate_flushpacket(&(sd->vd), &(sd->op))) { while(vorbis_bitrate_flushpacket(&(sd->vd), &(sd->op))) {
ogg_stream_packetin(&(sd->os), &(sd->op)); ogg_stream_packetin(&(sd->os), &(sd->op));
do {
if(ogg_stream_pageout(&(sd->os), &(sd->og)) == 0) {
break;
}
if(write_page(sd) < 0) return -1;
} while(ogg_page_eos(&(sd->og)));
} }
} }
while(ogg_stream_pageout(&(sd->os), &(sd->og)) != 0) {
if(write_page(sd) < 0) return -1;
}
return 0; return 0;
} }