Re: Scene index does not work on a DVD
Bj|rn Englund <[email protected]> Sat, 1 Oct 2005 12:09:52 +0200
| Newsgroups | gmane.comp.video.ogle.user |
|---|---|
| Message-ID | <[email protected]> |
Sat Oct 01 2005, Mikhail Ramendik wrote: > Debug[ogle_ctrl]: Started /usr/local/lib/ogle/ogle_mpeg_vs_debug with pid 7716 > Debug[ogle_ctrl]: Getting 3125920 bytes sysv shm > Debug[ogle_ctrl]: got capability video_out > Xscreensaver not running. > > This last line brings us to a call in mpeg2_video_output.c. I added some debug > output after that, and found the line of code in mpeg2_video_output.c where > this happens. It was: > > q_elem_id = get_next_picture_q_elem_id(cur_data_q); This is another process than ogle_mpeg_vs. > > Then I went into get_next_picture_q_elem_id and started adding debug output > there. The culprit seems to be the *second* call (in the same loop) to > MsgNextEventInterruptible. That, in turn, simply calls MsgNextEvent_internal. > > This, however, is where I got lost. I tried adding debug output to > MsgNextEvent_internal, but the problem is, the output continues when the gdb > window appears, and I can not track the exact moment when it appears - > therefore can not track the culprit. That is because the process that uses video_output.c just waits for output from the ogle_mpeg_vs process and doesn't stop because mpeg_vs does. I'm not 100% certain, but I think that if the ogle_mpeg_vs process segfaults, it is because of something in ogle_mpeg_vs or the data sent to it. If you run ./configure with --enable-debug and recompile you should get a lot more debug output from all processes. Then running ogle --debug --debug-mpeg_vs would maybe give some more hints to how far the ogle_mpeg_vs process comes before segfaulting. If it has something to do with malloc then it shouldn't be too hard to find the call resulting in the malloc. Another thought, maybe this is happening in a sighandler, but there is only one in ogle_mpeg_vs and the only thing it calls is exit. But you can add a fprintf there to see if it gets there. /Bj|rn