From: Brian J. T. <bj...@co...> - 2004-11-16 15:14:26
|
hi all, i noticed some peculiar behavior last night; i haven't had a chance to rule out my own code yet, but i thought i'd touch base. xfmedia has a scrollable playlist (a la xmms), and it loads file info on demand as you scroll down the list (using a separate stream instance created with a separate "none" audio and video driver pair). basic procedure: xine_open() xine_get_meta_info() /* however many times for different fields */ xine_get_pos_length() xine_close() i've verified with some printf()s that, after opening and closing around 110-125 ogg vorbis files, it gets locked up somewhere in xine_open(). it's reproducible on my setup using xine-lib-1rc7. note that if i scroll to somewhere else in the list, to a section with all MP3 files, i can scroll through hundreds of them without a problem. but if i go back to the ogg files, after a little over a hundred of them, it locks up. it doesn't appear to be any particular ogg vorbis file; i've tried starting at different places in the list, and the amount of tracks that scroll by before a freeze is about the same. this is all happening inside the main thread (that is, the same one where i call functions on the "main" xine stream), so it shouldn't be a locking issue. are there any gotchas with this kind of setup? as i said, i'm not doing any locking, but the "main" stream instance has an X event loop thread running, a swell as a xine_event_queue_t event listener thread. i have a separate Display* for all the xine work. if there's any other info i can provide that would be of help, please let me know. thanks, brian |