On 11/15/05, Stuart Auchterlonie wrote: > On Mon, Nov 14, 2005 at 09:29:22PM -0800, Geoffrey Hausheer wrote: > > Here is mpeg2fix-0.9 > I now have an infinite loop that wasn't there before. > Changes have been 0.8-0.9 and slightly different cutlist. > > Some backtraces from where it's looping > (plus a full backtrace as an attachment) > > If you need more info let me know Well, I know why you are getting the infinite loop, but am not sure how that can happen, and don't know what to do about it. Basically, the decoder was unable to find an entire frame, and is waiting for additional data. If the frame is truely broken, it is impossible to do a frame conversion, and I'm not sure how to proceed.
Can you add the following patch, and send me the resulting abort.dat file along with the error message? also running 'print *vf' from gdb after breaking (make sure you are in process video) and send me that might be useful too. ------------ --- mpeg2fix.cpp.old 2005-11-14 21:26:38.000000000 -0800 +++ mpeg2fix.cpp 2005-11-15 08:35:41.000000000 -0800 @@ -782,6 +782,10 @@ fprintf(stderr, "Warning: partial frame found!\n"); return 0; } + } else if (state == STATE_BUFFER) { + write_data("abort.dat", vf->pkt.data, vf->pkt.size); + fprintf(stderr, "Failed to decode frame. Position was: %d\n", last_pos); + assert(state != STATE_BUFFER); } last_pos = (vf->pkt.size - mpeg2_getpos(dec)) - 4; -------------------- Thanks, .Geoff _______________________________________________ mythtv-dev mailing list mythtv-dev@mythtv.org http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev