[mythtv] Mythtranscode .mpg => .mpg not .mpg => .nuv

Cory Papenfuss papenfuss at juneau.me.vt.edu
Sun Nov 6 11:40:04 EST 2005


> no I meant that you need to just let it run (dumpingto the screen).
> you still have the same buffering going on.  It is 23 minutes into the
> program though, so it did get through quite a bit of it.
>
 	Ah yes... I'm being an idiot.  Here's the *unbuffered* output up 
to where it stops:
AUD: pts: 124395480
Id:1:  0:23:02.172 V:2602264 6159 A:609771 3783
AUD: pts: 124397640
Id:1:  0:23:02.196 V:2602264 6159 A:609195 3739
AUD: pts: 124399800
Id:1:  0:23:02.220 V:2602264 6159 A:608619 3695
AUD: pts: 124401960
Id:1:  0:23:02.244 V:2602264 6159 A:608043 3651
AUD: pts: 124404120
Id:1:  0:23:02.268 V:2602264 6159 A:607467 3607

 	Oh, and this is a video-tape transfer (thus the errors in the 
stream).  It's only got about 6 megs out of 720 megs to go... basically 
crunched through the whole file.

> CFLAGS = -g -pipe ...
> (you don't need to remove the -g when you're done, it will have
> virtually no impact on perfromance), besides which, mythtv is
> statically linked against libmpeg2.
>
 	Again, idiot me forgot to install the new libmpeg2... ldd used the 
old one at first.  Anyway, here's the gdb:

Program received signal SIGINT, Interrupt.
[Switching to Thread -1212397888 (LWP 1459)]
0x0804a075 in process_video (pktPtr=0xbf8a5f88, decode_pic=0) at 
mpeg2fix.c:488
488         last_pos = (pkt->size-mpeg2_getpos(dec)) - 4;
(gdb) thread apply all bt

Thread 2 (Thread -1214850128 (LWP 1462)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x450c6a86 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0
#2  0x0804962a in fill_buffers (r=0xbf8a1f30, finish=0) at mpeg2fix.c:171
#3  0x0804d441 in check_times (mx=0xb796c150, video_ok=0xb796c048, audio_ok=0xb796c0d0,
     ac3_ok=0xb796c050, start=0xb796c04c) at multiplex.c:411
#4  0x080497a8 in replex_start (data=0xb796c150) at mpeg2fix.c:230
#5  0x450c4341 in start_thread () from /lib/tls/libpthread.so.0
#6  0x44f446fe in clone () from /lib/tls/libc.so.6

Thread 1 (Thread -1212397888 (LWP 1459)):
#0  0x0804a075 in process_video (pktPtr=0xbf8a5f88, decode_pic=0) at mpeg2fix.c:488
#1  0x0804a536 in get_frame (pkt=0xbf8a31c0, vid=0xbf8a1efc, aud=0xbf8a1f04)
     at mpeg2fix.c:620
#2  0x0804aff8 in main (argc=6, argv=0xbf8aa824) at mpeg2fix.c:897


> (note it may stop in a different place).  Besides the actual
> backtrace, I need you to find process_video (in this case it is #4),
> then do:
> frame 4 (use the actual # in place of '4')
> print state
> print *info
>
(gdb) frame 0
#0  process_video (pktPtr=0xbf8a5f88, decode_pic=0) at mpeg2fix.c:466
466         if(! decode_pic) {
(gdb) print state
$1 = 0
(gdb) print *info
$2 = {sequence = 0x8074278, gop = 0x0, current_picture = 0x0, current_picture_2nd = 0x0,
   current_fbuf = 0x0, display_picture = 0x0, display_picture_2nd = 0x0,
   display_fbuf = 0x0, discard_fbuf = 0x0, user_data = 0x0, user_data_len = 0}
(gdb)

 	I think I'm following... never got much into debugging with gdb.

-Cory

-- 

*************************************************************************
* Cory Papenfuss                                                        *
* Electrical Engineering candidate Ph.D. graduate student               *
* Virginia Polytechnic Institute and State University                   *
*************************************************************************



More information about the mythtv-dev mailing list