[mythtv] mplayer + nuv/(mpeg4|rtjpeg) patch
Carlos Talbot
carlos at talbot.net
Sat Apr 5 14:06:37 EST 2003
Matt Zimmerman wrote:
>It looks like your patch was against an older version of my patch (a diff
>between my tree and yours reverted some significant fixes). I've merged in
>your changes to my current tree, updated the whole thing to 0.90rc5, and the
>result is attached. Let me know if this looks and works OK for you (and
>anyone else who is interested).
>
>
Ok,
I've been experiencing mencoder segfaults with both Matt and Andrew's
patches. It's odd but it only occurs with certain .nuv files. I can't
determine the underlying variable; whether it's a recent cvs version,
video resolution, or audio rate. I'm using the most recent version of
Myth cvs. I just downloaded mplayer rc5, patched it with Matt's new
patch and ran mencoder with the following options through gdb below.
Notice that the len variable is set to 972138444 which might indicate
bad parsing of the .nuv file.
Carlos
[ctalbot at htpc MPlayer-0.90rc5]$ gdb mencoder
GNU gdb 5.3-22mdk (Mandrake Linux)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i586-mandrake-linux-gnu"...
(gdb) set args -ovc copy -oac copy
/data/store/7294_20030404070000_20030404073000.nuv -o test.avi
(gdb) run
Starting program: /home/ctalbot/MPlayer-0.90rc5/mencoder -ovc copy -oac
copy /data/store/7294_20030404070000_20030404073000.nuv -o test.avi
[New Thread 16384 (LWP 7591)]
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale
MEncoder 0.90rc5-3.2.2 (C) 2000-2003 Arpad Gereoffy (see DOCS)
CPU: Advanced Micro Devices (Family: 6, Stepping: 0)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Reading /home/ctalbot/.mplayer/codecs.conf: can't open
'/home/ctalbot/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: 50 audio & 136 video codecs
File not found: 'frameno.avi'
Reading config file /home/ctalbot/.mplayer/mencoder: No such file or
directory
success: format: 0 data: 0x0 - 0x1AB516B1
NuppelVideo file format detected.
Detected MythTV stream, reading extended format information
FOURCC: XVID
channels=2 bitspersample=16 samplerate=32000 audio_compression_ratio=11
[V] filefmt:13 fourcc:0x58564944 size:544x480 fps:29.97 ftime:=0.0334
videocodec: framecopy (544x480 24bpp fourcc=58564944)
audiocodec: framecopy (format=55 chans=2 rate=32000 bits=16 bps=12000
sample=4)
Writing AVI header...
Pos: 8.5s 255f ( 0%) 0fps Trem: 0min 414mb A-V:-0.030 [2771:96]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 7591)]
0x080ec2df in new_demux_packet (len=972138444) at demuxer.h:149
149 if(len) memset(dp->buffer+len,0,8);
(gdb) bt full
#0 0x080ec2df in new_demux_packet (len=972138444) at demuxer.h:149
__s = (void *) 0x39f1a7cc
dp = (demux_packet_t *) 0x835de88
#1 0x080e9be7 in ds_read_packet (ds=0x834b2d8, stream=0x39f1a7cc,
len=137748104, pts=-637562.125, pos=3212299, flags=0) at demuxer.c:251
dp = (demux_packet_t *) 0x403a19b0
#2 0x080fe825 in demux_nuv_fill_buffer (demuxer=0x834aa08) at
demux_nuv.c:251
rtjpeg_frameheader = {frametype = 86 'V', comptype = 43 '+',
keyframe = 6 '\006', filters = 76 'L', timecode = -637562097,
packetlength = 972138432}
priv = (nuv_priv_t *) 0x834b420
want_audio = 1
#3 0x080e9f3f in ds_fill_buffer (ds=0x834b270) at demuxer.c:387
demux = (demuxer_t *) 0x834aa08
#4 0x080ea148 in demux_read_data (ds=0x834b270, mem=0x405da008 "ÿûx\004",
len=4272) at demuxer.c:406
x = 0
bytes = 1728
#5 0x0804debc in main (argc=972138444, argv=0x39f1a7cc) at mencoder.c:941
stream = (stream_t *) 0x83496b8
demuxer = (demuxer_t *) 0x834aa08
stream2 = (stream_t *) 0x39f1a7cc
demuxer2 = (demuxer_t *) 0x0
d_audio = (demux_stream_t *) 0x834b270
d_video = (demux_stream_t *) 0x834b2d8
d_dvdsub = (demux_stream_t *) 0x834b340
sh_audio = (sh_audio_t *) 0x834b4d0
sh_video = (sh_video_t *) 0x834b438
file_format = 0
i = 0
vobsub_writer = (void *) 0x0
ptimer_start = 1597224911
audiorate = 16
videorate = 19
audiosamples = 19
videosamples = 256
skippedframes = 0
duplicatedframes = 0
badframes = 0
mux_a = (muxer_stream_t *) 0x834b960
mux_v = (muxer_stream_t *) 0x834b8d0
muxer_f_size = -4611715980119238800
lame = (lame_global_flags *) 0x0
v_pts_corr = -0.030399408428151125
v_timer_corr = 2.7761951957670292e-05
filelist = (m_entry_t *) 0x1770
filename = 0x1770 <Address 0x1770 out of bounds>
decoded_frameno = 255
next_frameno = -1
timer_start = 1597224848
#6 0x402867f7 in __libc_start_main () from /lib/i686/libc.so.6
No symbol table info available.
(gdb)
More information about the mythtv-dev
mailing list