From: Michael R. <mr...@us...> - 2005-07-29 12:05:08
|
Hi Jason, > That's good to hear. I did as you suggested and, knock on wood, > everything looks like it's working. Cool. That approach should be much easier to handle, since there are fewer components involved. > One thing I'm not sure about is in buffer_display_frame() if I should > call free() on the passthrough frame after calling display_frame() of > the passthrough vo. I sheepishly admit that most of my success > working > with xine-lib is based on a combination what both works and doesn't > crash, without giving a great deal of thought to correctness. > Everything seems to work both with and without > passthrough_frame->free(), so I'm just not sure what's correct. :) I think you should not call free(), because (given that I understand your current approach correctly), you never locked that frame by calling something like draw() or lock() on it. The safest way is to have a look at the frame's reference counter (called "lock_counter"). Besides, if you do not free() it and it still works, it does not need free()ing. Otherwise the engine would lock up soon, because it is running out of free frames. Michael |