Windows XP Pro; VLC 0.8.6d; videl card NVidia GeForce 6200 TurboCache, BIOS 5.44.02.45, 256MB memory, ForceWare 93.71
A particular .mpg file causes VLC to crash when I attempt to play it. The crash occurs almost always, but occasionally the file plays. When it does play, everything works correctly. Also, other files created by the same pgm (WinTV2000) play correctly.
When it crashes, the audio stream is playing correctly, but no video. I suppose VLC is multi-threaded, and it is the video thread which has crashed.
When it crashes, it does so immediately, with an unhandled exception at loc 0 (access violation reading loc 0). This invokes the Visual Studio debugger, so I have information on the stack:
00000000()
liblibmpeg2_plugin.dll!6d353523()
[Frames below may be incorrect and/or missing, no symbols loaded for liblibmpeg2_plugin.dll]
kernel32.dll!7c80261a()
ntdll.dll!7c9106eb()
msvcrt.dll!77c2c3c9()
kernel32.dll!7c8025f0()
liblibmpeg2_plugin.dll!6d345152()
liblibmpeg2_plugin.dll!6d342872()
liblibmpeg2_plugin.dll!6d34186b()
libvlc.dll!62de0c1b()
kernel32.dll!7c80261a()
kernel32.dll!7c8025f0()
ntdll.dll!7c90e2f1()
kernel32.dll!7c8024b7()
libvlc.dll!62e24326()
msvcrt.dll!77c2c2e3()
libvlc.dll!62de1267()
msvcrt.dll!77c3a3b0()
kernel32.dll!7c80b683()
Here is the "Messages" output from VLC:
main debug: adding playlist item `C:\Miscellaneous\Patriots games\Patriots-Jaguars.mpg' ( C:\Miscellaneous\Patriots games\Patriots-Jaguars.mpg )
main debug: creating new input thread
main debug: waiting for thread completion
main debug: creating statistics handler
main debug: thread 4432 (input) created at priority 1 (input/input.c:265)
main debug: drive letter C: found in source
main debug: `C:\Miscellaneous\Patriots games\Patriots-Jaguars.mpg' gives access `' demux `' path `C:\Miscellaneous\Patriots games\Patriots-Jaguars.mpg'
main debug: creating demux: access='' demux='' path='C:\Miscellaneous\Patriots games\Patriots-Jaguars.mpg'
main debug: looking for access_demux module: 1 candidate
main debug: creating access '' path='C:\Miscellaneous\Patriots games\Patriots-Jaguars.mpg'
main debug: looking for access2 module: 5 candidates
vcd debug: trying .cue file: C:\Miscellaneous\Patriots games\Patriots-Jaguars.cue
vcd debug: could not find .cue file
access_file debug: opening file `C:\Miscellaneous\Patriots games\Patriots-Jaguars.mpg'
main debug: using access2 module "access_file"
main debug: pre-buffering...
main debug: received first data for our buffer
main debug: pre-buffering done 1408981 bytes in 0s - 91724 kbytes/s
main debug: creating demux: access='' demux='' path='C:\Miscellaneous\Patriots games\Patriots-Jaguars.mpg'
main debug: looking for demux2 module: 45 candidates
ts warning: TS module discarded (lost sync)
main debug: using demux2 module "ps"
main debug: looking for a subtitle file in C:\Miscellaneous\Patriots games\
main debug: `C:\Miscellaneous\Patriots games\Patriots-Jaguars.mpg' successfully opened
ps warning: garbage at input, trying to resync...
ps warning: found sync code
ps debug: we found a length of: 1079767945
main debug: selecting program id=0
main debug: looking for decoder module: 28 candidates
main debug: using decoder module "libmpeg2"
main debug: thread 4592 (decoder) created at priority 0 (input/decoder.c:159)
libmpeg2 debug: 704x480 (display 704,480), aspect 901120, sar 64:45, 59.941 fps
main debug: no usable vout present, spawning one
main debug: looking for decoder module: 28 candidates
main debug: using decoder module "a52"
main debug: thread 4532 (decoder) created at priority 2 (input/decoder.c:159)
main debug: window size: 1001x480
main debug: Registering subpicture channel, ID: 2
main debug: Registering subpicture channel, ID: 3
main debug: Registering subpicture channel, ID: 4
main debug: Registering subpicture channel, ID: 5
main debug: looking for video output module: 6 candidates
vout_directx debug: creating DirectXEventThread
main debug: waiting for thread completion
vout_directx debug: DirectXCreateWindow
vout_directx debug: created video sub-window
main debug: thread 4616 (DirectX Events Thread) created at priority 0 (directx.c:278)
vout_directx debug: DirectXEventThread running
vout_directx debug: DirectXInitDDraw
vout_directx debug: directx-device:
vout_directx debug: DirectXEnumCallback: Primary Display Driver, display
vout_directx debug: DirectXEnumCallback: NVIDIA GeForce 6200 TurboCache(TM), \\.\DISPLAY1
vout_directx debug: selecting NVIDIA GeForce 6200 TurboCache(TM), \\.\DISPLAY1
vout_directx debug: DirectXEnumCallback: NVIDIA GeForce 6200 TurboCache(TM), \\.\DISPLAY2
vout_directx debug: screen dimensions (0x0,1680x1050)
vout_directx debug: DirectDraw Capabilities: overlay=1 yuvoverlay=1 can_deinterlace_overlay=1 colorkey=1 stretch=1 bltfourcc=1
vout_directx debug: align_boundary_src=0,0 align_boundary_dest=1,1 align_size_src=0,0 align_size_dest=0,0
vout_directx debug: End DirectXInitDDraw
vout_directx debug: DirectXCreateDisplay
vout_directx debug: DirectXCreateClipper
vout_directx debug: disabling screen saver
main debug: using video output module "vout_directx"
main debug: waiting for thread completion
a52: A/52 channels:2 samplerate:48000 bitrate:384000
main debug: no aout present, spawning one
main debug: looking for audio output module: 3 candidates
vout_directx debug: NewPictureVec overlay:yes chroma:YV12
aout_directx debug: OpenAudio
vout_directx debug: YUV overlay created successfully
vout_directx debug: End NewPictureVec (succeeded)
main debug: got 1 direct buffer(s)
main debug: picture in 704x480 (0,0,704x480), chroma I420, ar 1408:675, sar 64:45
main debug: picture user 704x480 (0,0,704x480), chroma I420, ar 1408:675, sar 64:45
main debug: picture out 704x480 (0,0,704x480), chroma I420, ar 1408:675, sar 64:45
main debug: direct render, mapping render pictures 0-6 to system pictures 1-7
main debug: thread 4648 (video output) created at priority 1 (video_output/video_output.c:421)
aout_directx debug: found device: Primary Sound Driver
aout_directx debug: found device: SigmaTel Audio
libmpeg2 debug: intra-slice refresh stream
aout_directx debug: device supports 2 channels
aout_directx debug: device supports 1 channel
aout_directx debug: device supports A/52 over S/PDIF
aout_directx debug: creating DirectSoundThread
main debug: thread 5152 (DirectSound Notification Thread) created at priority 15 (directx.c:372)
aout_directx debug: DirectSoundThread ready
main debug: using audio output module "aout_directx"
main debug: output 's16l' 48000 Hz Stereo frame=1 samples/4 bytes
main debug: mixer 'fl32' 48000 Hz Stereo frame=1 samples/8 bytes
main debug: filter(s) 'fl32'->'s16l' 48000 Hz->48000 Hz Stereo->Stereo
main debug: looking for audio filter module: 24 candidates
main debug: using audio filter module "float32tos16"
main debug: found a filter for the whole conversion
main debug: looking for audio mixer module: 3 candidates
main debug: using audio mixer module "trivial_mixer"
main debug: input 'a52 ' 48000 Hz Stereo frame=1536 samples/1536 bytes
main debug: filter(s) 'a52 '->'fl32' 48000 Hz->48000 Hz Stereo->Stereo
main debug: looking for audio filter module: 24 candidates
main debug: using audio filter module "a52tofloat32"
main debug: found a filter for the whole conversion
main debug: filter(s) 'fl32'->'fl32' 52800 Hz->48000 Hz Stereo->Stereo
main debug: looking for audio filter module: 24 candidates
main debug: using audio filter module "bandlimited_resampler"
main debug: found a filter for the whole conversion
I also get a crash with the nightly build from 2008-1-13, although the exception location is different there, 0x2ccdb43. Here is the stack from the nightly build:
02ccdb43()
liblibmpeg2_plugin.dll!66746549()
[Frames below may be incorrect and/or missing, no symbols loaded for liblibmpeg2_plugin.dll]
kernel32.dll!7c80261a()
kernel32.dll!7c8025f0()
liblibmpeg2_plugin.dll!66752ccc()
liblibmpeg2_plugin.dll!66742d2e()
liblibmpeg2_plugin.dll!6674177a()
libvlc.dll!6a3242f0()
libvlc.dll!6a323e65()
kernel32.dll!7c8025f0()
ntdll.dll!7c90e2f1()
kernel32.dll!7c8024b7()
libvlc.dll!6a37165e()
msvcrt.dll!77c2c2e3()
libvlc.dll!6a3245cf()
msvcrt.dll!77c3a3b0()
ntdll.dll!7c910732()
kernel32.dll!7c80b683()
ntdll.dll!7c910732()