comparison src/console/Audacious_Driver.cxx @ 1348:d427f353e326

console: new threading model
author William Pitcock <nenolod@atheme-project.org>
date Mon, 23 Jul 2007 17:44:21 -0500
parents 6d749f573b3b
children 761e17b23e0c
comparison
equal deleted inserted replaced
1347:76eee61ed25a 1348:d427f353e326
308 // stop playing 308 // stop playing
309 unload_file(); 309 unload_file();
310 playback->output->close_audio(); 310 playback->output->close_audio();
311 console_ip_is_going = 0; 311 console_ip_is_going = 0;
312 g_static_mutex_unlock( &playback_mutex ); 312 g_static_mutex_unlock( &playback_mutex );
313 // TODO: should decode_thread be cleared here?
314 g_thread_exit( NULL );
315 return NULL; 313 return NULL;
316 } 314 }
317 315
318 static void play_file( InputPlayback *playback ) 316 static void play_file( InputPlayback *playback )
319 { 317 {
394 emu = fh.emu; 392 emu = fh.emu;
395 fh.emu = 0; 393 fh.emu = 0;
396 394
397 pending_seek = -1; 395 pending_seek = -1;
398 console_ip_is_going = 1; 396 console_ip_is_going = 1;
399 decode_thread = g_thread_create( play_loop_track, playback, TRUE, NULL ); 397 decode_thread = g_thread_self();
398 play_loop_track( playback );
400 } 399 }
401 400
402 static void seek( InputPlayback * data, gint time ) 401 static void seek( InputPlayback * data, gint time )
403 { 402 {
404 // TODO: use thread-safe atomic set 403 // TODO: use thread-safe atomic set