From: <wan...@12...> - 2008-03-13 07:30:59
|
Hi there, I'm new to xine-lib and about to use it in an application where a number of short video clips are repeatedly played in arbitrary order and the transitions have to be as seamless as possible. My approach was to use xine_init() at the beginning and didn't use xine_exit() during the clip is changed,i just play/stop them in the main loop, which works fine for about 2 hour ,but the memory was growing .At last , the programe exited suddenly for such informaiton: 1. abort:events.c 249:xine_event_creat_listener_thread:Aborting or 2. denux:can't create new thread,abort:demux.c:381: _x_demux_start_thread:Aboting. Here is a minimal code of what I am doing: stream = xine_stream_new(xine, ao_port, vo_port); if (!stream) { printf("open a xine stream error!\n"); xine_close_audio_driver (xine, ao_port); xine_close_video_driver (xine, vo_port); //xine_exit (xine); pthread_mutex_unlock(&xinemutex); return NULL; } /* hook our event handler into the streams events */ event_queue = xine_event_new_queue(stream); xine_event_create_listener_thread(event_queue, event_listener, NULL); /* make the video window visible to xine */ xine_port_send_gui_data(vo_port, XINE_GUI_SEND_DRAWABLE_CHANGED, (void *) window); xine_port_send_gui_data(vo_port, XINE_GUI_SEND_VIDEOWIN_VISIBLE, (void *) 1); Is it ok like this? Many thanks in advance! wangbenqiang wan...@12... 500强春季最新招聘信息新鲜出炉,快来注册抢先应聘 |