diff options
Diffstat (limited to 'src/xine-engine/xine.c')
-rw-r--r-- | src/xine-engine/xine.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index 30d794119..1e8216a5f 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine.c,v 1.104 2002/02/17 17:32:51 guenter Exp $ + * $Id: xine.c,v 1.105 2002/03/01 09:29:50 guenter Exp $ * * top-level xine functions * @@ -86,6 +86,8 @@ void * xine_notify_stream_finished_thread (void * this_gen) { xine_send_event (this, &event); + pthread_detach( pthread_self() ); + return NULL; } @@ -413,6 +415,8 @@ int xine_eject (xine_t *this) { void xine_exit (xine_t *this) { + int i; + xine_stop(this); LOG_MSG(this, _("xine_exit: shutdown audio\n")); @@ -423,12 +427,21 @@ void xine_exit (xine_t *this) { video_decoder_shutdown (this); + this->osd_renderer->close( this->osd_renderer ); + this->status = XINE_QUIT; LOG_MSG(this, _("xine_exit: bye!\n")); + for (i = 0; i < XINE_LOG_NUM; i++) + this->log_buffers[i]->dispose (this->log_buffers[i]); + + this->metronom->exit (this->metronom); + xine_profiler_print_results (); + free (this); + } xine_t *xine_init (vo_driver_t *vo, |