# HG changeset patch # User Calin Crisan ccrisan@gmail.com # Date 1185230769 -10800 # Node ID 1e36cc6c4b231f0697eda58a2874105ae639e346 # Parent ab387ad5b88eaea5a7b392fe26bb39dbd4e7b75d# Parent d427f353e3267b94e1de13a8ab1310f651267527 Automated merge with ssh://hg.atheme-project.org//hg/audacious-plugins diff -r ab387ad5b88e -r 1e36cc6c4b23 src/aac/src/libmp4.c --- a/src/aac/src/libmp4.c Tue Jul 24 01:42:58 2007 +0300 +++ b/src/aac/src/libmp4.c Tue Jul 24 01:46:09 2007 +0300 @@ -125,7 +125,8 @@ { buffer_playing = TRUE; playback->playing = 1; //XXX should acquire lock? - decodeThread = g_thread_create((GThreadFunc)mp4_decode, playback, TRUE, NULL); + decodeThread = g_thread_self(); + mp4_decode(playback); } static void mp4_stop(InputPlayback *playback) @@ -593,8 +594,6 @@ buffer_playing = FALSE; playback->playing = 0; g_static_mutex_unlock(&mutex); - g_thread_exit(NULL); - return FALSE; } rc= mp4ff_read_sample(mp4file, mp4track, @@ -675,7 +674,7 @@ buffer_playing = FALSE; playback->playing = 0; g_static_mutex_unlock(&mutex); - g_thread_exit(NULL); + return; } if((buffervalid = vfs_fread(streambuffer, 1, BUFFER_SIZE, file))==0){ g_print("AAC: Error reading file\n"); @@ -684,7 +683,7 @@ playback->playing = 0; faacDecClose(decoder); g_static_mutex_unlock(&mutex); - g_thread_exit(NULL); + return; } if(!strncmp((char*)streambuffer, "ID3", 3)){ gint size = 0; @@ -733,7 +732,7 @@ buffer_playing = FALSE; playback->playing = 0; g_static_mutex_unlock(&mutex); - g_thread_exit(NULL); + return; } mp4_ip.set_info(xmmstitle, -1, -1, samplerate, channels); @@ -827,7 +826,6 @@ buffer_playing = FALSE; playback->playing = 0; g_static_mutex_unlock(&mutex); - g_thread_exit(NULL); } static void *mp4_decode( void *args ) @@ -848,7 +846,7 @@ g_static_mutex_unlock(&mutex); if (mp4fh == NULL) - g_thread_exit(NULL); + return NULL; ret = parse_aac_stream(mp4fh); diff -r ab387ad5b88e -r 1e36cc6c4b23 src/alac/plugin.c --- a/src/alac/plugin.c Tue Jul 24 01:42:58 2007 +0300 +++ b/src/alac/plugin.c Tue Jul 24 01:46:09 2007 +0300 @@ -179,7 +179,8 @@ char *filename = data->filename; going = 1; playback = data; - playback_thread = g_thread_create(decode_thread, filename, TRUE, NULL); + playback_thread = g_thread_self(); + decode_thread(filename); } static void stop(InputPlayback * data) diff -r ab387ad5b88e -r 1e36cc6c4b23 src/console/Audacious_Driver.cxx --- a/src/console/Audacious_Driver.cxx Tue Jul 24 01:42:58 2007 +0300 +++ b/src/console/Audacious_Driver.cxx Tue Jul 24 01:46:09 2007 +0300 @@ -310,8 +310,6 @@ playback->output->close_audio(); console_ip_is_going = 0; g_static_mutex_unlock( &playback_mutex ); - // TODO: should decode_thread be cleared here? - g_thread_exit( NULL ); return NULL; } @@ -396,7 +394,8 @@ pending_seek = -1; console_ip_is_going = 1; - decode_thread = g_thread_create( play_loop_track, playback, TRUE, NULL ); + decode_thread = g_thread_self(); + play_loop_track( playback ); } static void seek( InputPlayback * data, gint time )