Problem with DirectShow device

Microsoft Windows specific usage questions
Forum rules
Please post only Windows specific questions in this forum category. If you don't know where to post, please read the different forums' rules. Thanks.
gboado
New Cone
New Cone
Posts: 8
Joined: 05 Apr 2006 13:51

Problem with DirectShow device

Postby gboado » 09 Apr 2006 00:10

Hi,
First, I will describe the environment of the test:
MB Via KT400, CPU Athlon XP 2000, 512 MB RAM, XP Pro SP2,
2 DirectShow devices: one USB camera, one BT878 card. Both work properly with other software (DScaler, VirtalDub, etc.)
Capture board audio routed to Aux input of the sound card (on-board).

I tested VNC 0.8.4a and video works OK, but no audio. If I change the mux input (at the AC97 audio properties) I manage to have lots of noise, but no TV audio. It works with DScaler and VirtualDub.
With VNC 0.8.5-test2 and latest snapshot (as 8-apr-2006) all I have is a crash when I try to start the DirectShow display.

Please find below the messages for both version 0.8.4a and 0.8.5-test2:

main debug: CPU has capabilities 486 586 MMX 3DNow! MMXEXT FPU
main debug: looking for memcpy module: 4 candidates
main debug: using memcpy module "memcpymmxext"
main debug: waiting for thread completion
main debug: thread 3428 (playlist) created at priority 0 (src/playlist/playlist.c:183)
main debug: waiting for thread completion
main debug: thread 3444 (preparser) created at priority 0 (src/playlist/playlist.c:205)
main debug: looking for interface module: 1 candidate
main debug: using interface module "hotkeys"
main debug: interface initialized
main debug: thread 3468 (interface) created at priority 0 (src/interface/interface.c:211)
main debug: looking for interface module: 3 candidates
main debug: using interface module "wxwidgets"
main debug: interface initialized
main debug: thread 3488 (manager) created at priority 0 (src/interface/interface.c:196)
wxwidgets debug: Using last windows config '(-1,0,0,1280,1024)(0,404,223,355,331)(2,110,110,418,580)'
wxwidgets debug: id=0 p=(404,223) s=(355,331)
wxwidgets debug: id=2 p=(110,110) s=(418,580)
main debug: adding playlist item `dshow://' ( dshow:// )
main debug: creating new input thread
main debug: set input option: dshow-vdev to Conexant's BtPCI Capture
main debug: set input option: dshow-adev to Avance AC97 Audio
main debug: waiting for thread completion
main debug: `dshow://' gives access `dshow' demux `' path `'
main debug: creating demux: access='dshow' demux='' path=''
main debug: looking for access_demux module: 1 candidate
main debug: thread 3852 (input) created at priority 1 (src/input/input.c:230)
dshow debug: found device: Conexant's BtPCI Capture
dshow debug: found device: USB Dual-mode Camera
dshow debug: found device: USB Dual-mode Camera
dshow debug: using device: Conexant's BtPCI Capture
dshow debug: EnumDeviceCaps: output pin: Capture
dshow debug: EnumDeviceCaps: output pin: Preview
dshow debug: EnumDeviceCaps: output pin: VBI
dshow debug: EnumDeviceCaps: input pin: Analog Video In
dshow debug: EnumDeviceCaps: trying pin Capture
dshow debug: EnumDeviceCaps: input pin video format configured
dshow debug: EnumDeviceCaps: input pin accepts chroma: RV24, width:320, height:240, fps:30.000030
dshow debug: CaptureFilter::JoinFilterGraph
dshow debug: connecting filters
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [not connected]
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::QueryFilterInfo
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryAccept [OK] (width=320, height=240, chroma=I420)
dshow debug: CapturePin::ReceiveConnection [OK]
dshow debug: CapturePin::GetAllocatorRequirements
dshow debug: CapturePin::GetAllocator
dshow debug: CapturePin::NotifyAllocator
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [OK]
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [OK]
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [OK]
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::EnumPins
dshow debug: Found Existing Route For ouput 0 (type 12) to input 0 (type 1)
dshow debug: Crossbar at depth 0, Found Route For ouput 0 (type 12) to input 0 (type 1)
dshow debug: filters connected successfully !
dshow debug: MEDIATYPE_Video
dshow debug: selected video pin accepts format: I420
dshow debug: found device: Avance AC97 Audio
dshow debug: using device: Avance AC97 Audio
dshow debug: EnumDeviceCaps: output pin: Capture
dshow debug: EnumDeviceCaps: input pin: Mono Mix
dshow debug: EnumDeviceCaps: input pin: Stereo Mix
dshow debug: EnumDeviceCaps: input pin: Aux
dshow debug: EnumDeviceCaps: input pin: TV Tuner Audio
dshow debug: EnumDeviceCaps: input pin: CD Player
dshow debug: EnumDeviceCaps: input pin: Line In
dshow debug: EnumDeviceCaps: input pin: Microphone
dshow debug: EnumDeviceCaps: input pin: Phone Line
dshow debug: EnumDeviceCaps: trying pin Capture
dshow debug: EnumDeviceCaps: input pin default format configured
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:44100 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:32000 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:32000 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:22050 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:22050 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:11025 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:11025 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:8000 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:8000 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:8
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:44100 bits/sample:8
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:22050 bits/sample:8
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:22050 bits/sample:8
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:11025 bits/sample:8
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:11025 bits/sample:8
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:8000 bits/sample:8
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:8000 bits/sample:8
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:48000 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:48000 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:96000 bits/sample:16
dshow debug: EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:96000 bits/sample:16
dshow debug: CaptureFilter::JoinFilterGraph
dshow debug: connecting filters
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [not connected]
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::QueryFilterInfo
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryAccept [OK] (channels=2, samples/sec=44100, bits/samples=16, format=araw)
dshow debug: CapturePin::ReceiveConnection [OK]
dshow debug: CapturePin::NotifyAllocator
dshow debug: CapturePin::QueryAccept [OK] (channels=2, samples/sec=44100, bits/samples=16, format=araw)
dshow debug: filters connected successfully !
dshow debug: MEDIATYPE_Audio
dshow debug: selected audio pin accepts format: araw
dshow debug: Crossbar at depth 0, Routed video ouput 0 to video input 0
dshow debug: Crossbar at depth 0, Routed audio ouput 1 to audio input 4
dshow debug: Playing...
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [OK]
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [OK]
dshow debug: CaptureFilter::SetSyncSource
dshow debug: CaptureFilter::SetSyncSource
dshow debug: CaptureFilter::Pause
dshow debug: CaptureFilter::Pause
dshow debug: CaptureFilter::Run
dshow debug: CaptureFilter::Run
main debug: selecting program id=0
main debug: using access_demux module "dshow"
main debug: looking for decoder module: 26 candidates
main debug: using decoder module "rawvideo"
main debug: thread 4344 (decoder) created at priority 0 (src/input/decoder.c:159)
main debug: looking for decoder module: 26 candidates
araw debug: samplerate:44100Hz channels:2 bits/sample:16
main debug: using decoder module "araw"
main debug: thread 4364 (decoder) created at priority 2 (src/input/decoder.c:159)
main debug: `dshow://' successfully opened
main debug: no aout present, spawning one
main debug: looking for audio output module: 3 candidates
aout_directx debug: OpenAudio
aout_directx debug: found device: Primary Sound Driver
aout_directx debug: found device: Avance AC97 Audio
main debug: no usable vout present, spawning one
aout_directx debug: device supports 2 channels
aout_directx debug: device supports 1 channel
aout_directx debug: creating DirectSoundThread
main debug: thread 4784 (DirectSound Notification Thread) created at priority 15 (directx.c:374)
aout_directx debug: DirectSoundThread ready
main debug: using audio output module "aout_directx"
main debug: output 's16l' 44100 Hz Stereo frame=1 samples/4 bytes
main debug: mixer 's16l' 44100 Hz Stereo frame=1 samples/4 bytes
main debug: filter(s) 'fl32'->'s16l' 44100 Hz->44100 Hz Stereo->Stereo
main debug: looking for audio filter module: 23 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 's16l' 44100 Hz Stereo frame=1 samples/4 bytes
main debug: filter(s) 's16l'->'fl32' 44100 Hz->44100 Hz Stereo->Stereo
main debug: looking for audio filter module: 23 candidates
main debug: using audio filter module "s16tofloat32"
main debug: found a filter for the whole conversion
main debug: filter(s) 'fl32'->'fl32' 48510 Hz->44100 Hz Stereo->Stereo
main debug: looking for audio filter module: 23 candidates
main debug: using audio filter module "bandlimited_resampler"
main debug: found a filter for the whole conversion
main warning: PTS is out of range (1845423444), dropping buffer
main warning: PTS is out of range (1845400293), dropping buffer
main warning: PTS is out of range (1845377095), dropping buffer
main warning: PTS is out of range (1845353895), dropping buffer
main warning: PTS is out of range (1845330695), dropping buffer
main debug: window size: 320x240
main debug: looking for video output module: 5 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 4840 (DirectX Events Thread) created at priority 0 (directx.c:261)
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: screen dimensions (0x0,1280x1024)
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
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: using video output module "vout_directx"
vout_directx debug: NewPictureVec overlay:yes chroma:YV12
main debug: waiting for thread completion
vout_directx debug: YUV overlay created successfully
vout_directx debug: End NewPictureVec (succeeded)
main debug: got 1 direct buffer(s)
main debug: picture in 320x240 (0,0,320x240), chroma I420, ar 4:3, sar 1:1
main debug: picture user 320x240 (0,0,320x240), chroma I420, ar 4:3, sar 1:1
main debug: picture out 320x240 (0,0,320x240), chroma I420, ar 4:3, sar 1:1
main debug: direct render, mapping render pictures 0-6 to system pictures 1-7
main debug: thread 4852 (video output) created at priority 1 (src/video_output/video_output.c:416)

----------------------------------------------------------------------------------
main debug: CPU has capabilities 486 586 MMX 3DNow! MMXEXT SSE FPU
main debug: looking for memcpy module: 4 candidates
main debug: using memcpy module "memcpymmxext"
main debug: waiting for thread completion
main debug: thread 3588 (playlist) created at priority 0 (playlist/playlist.c:184)
main debug: waiting for thread completion
main debug: thread 3604 (preparser) created at priority 0 (playlist/playlist.c:210)
main debug: looking for interface module: 1 candidate
main debug: using interface module "hotkeys"
main debug: thread 3628 (interface) created at priority 0 (interface/interface.c:231)
main debug: looking for interface module: 3 candidates
main debug: using interface module "wxwidgets"
main debug: thread 3648 (manager) created at priority 0 (interface/interface.c:216)
wxwidgets debug: Using last windows config '(-1,0,0,1280,1024)(0,657,206,355,91)(2,220,220,418,580)(6,0,0,-1,150)'
wxwidgets debug: id=0 p=(657,206) s=(355,91)
wxwidgets debug: id=2 p=(220,220) s=(418,580)
wxwidgets debug: id=6 p=(0,0) s=(-1,150)
main debug: adding playlist item `dshow://' ( dshow:// )
main debug: creating new input thread
main debug: waiting for thread completion
main debug: thread 4020 (input) created at priority 1 (input/input.c:261)
main debug: creating statistics handler
main debug: `dshow://' gives access `dshow' demux `' path `'
main debug: creating demux: access='dshow' demux='' path=''
main debug: looking for access_demux module: 1 candidate
dshow debug: found device: Conexant's BtPCI Capture
dshow debug: found device: USB Dual-mode Camera
dshow debug: found device: USB Dual-mode Camera
dshow debug: using device: Conexant's BtPCI Capture
dshow debug: EnumDeviceCaps: output pin: Capture
dshow debug: EnumDeviceCaps: output pin: Preview
dshow debug: EnumDeviceCaps: output pin: VBI
dshow debug: EnumDeviceCaps: input pin: Analog Video In
dshow debug: EnumDeviceCaps: trying pin Capture
dshow debug: EnumDeviceCaps: input pin default format configured
dshow debug: EnumDeviceCaps: input pin accepts chroma: I420, width:768, height:480, fps:25.000000
dshow debug: CaptureFilter::JoinFilterGraph
dshow debug: connecting filters
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [not connected]
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::QueryFilterInfo
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryAccept [OK] (width=768, height=480, chroma=I420)
dshow debug: CapturePin::ReceiveConnection [OK]
dshow debug: CapturePin::Disconnect [OK]
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryAccept [OK] (width=768, height=480, chroma=I420)
dshow debug: CapturePin::ReceiveConnection [OK]
dshow debug: CapturePin::Disconnect [OK]

---------------------------------------------------------------------------
The crash is at msvcrt.dll, supposedly in stdprn. The call stack according to
VC++ 6.0 is:
MSVCRT! 77c46fa3()
LIBDSHOW_PLUGIN! 6850b23a()
01223b18()
01223b18()
LIBDSHOW_PLUGIN! 6850b010()
2424448b()

I don't know if there is something else I could test...

Quovodis
Cone that earned his stripes
Cone that earned his stripes
Posts: 271
Joined: 16 Jun 2004 11:13
Location: Cork, Ireland

Postby Quovodis » 09 Apr 2006 22:14

dshow debug: CapturePin::QueryAccept [OK] (width=768, height=480, chroma=I420)
dshow debug: CapturePin::ReceiveConnection [OK]
dshow debug: CapturePin::Disconnect [OK]
it looks like vlc has successfully negotiated a connection with you capture device, but somehow fails to receive data from it. it is difficult to tell from the log why it is not receiving data as that part of the debug it typically not enabled by default to avoid flooding.

However, as well as trying a recent version of the nighly build, you could try the following:

force the chroma to be RV24 or YUY2
try forcing the resolution down to 320x240

gboado
New Cone
New Cone
Posts: 8
Joined: 05 Apr 2006 13:51

Postby gboado » 11 Apr 2006 14:18

The question may sound stupid, but how do I do it? The device and tuner properties dialog never pop-up (the program crashes before). Is there any direct way to do it? (without resorting to the dialog boxes).
Regards.

Quovodis
Cone that earned his stripes
Cone that earned his stripes
Posts: 271
Joined: 16 Jun 2004 11:13
Location: Cork, Ireland

Postby Quovodis » 11 Apr 2006 14:25

input the video size as, for example 320x240, in the video size field on the dshow panel in VLC. Similarily, the chroma is set in the video input chroma in the advanced options dialog

gboado
New Cone
New Cone
Posts: 8
Joined: 05 Apr 2006 13:51

Postby gboado » 15 Apr 2006 21:26

Well, I managed to change the video format to 320x240 and now the program doesn't crash, even the latest nighty build (14 Apr.). However, both video and audio come blan (well, a blue video screen and no audio.

gboado
New Cone
New Cone
Posts: 8
Joined: 05 Apr 2006 13:51

Postby gboado » 16 Apr 2006 11:09

I changed the driver. I was using btwincap and chaged by iulabs, both generic drivers. It works now, but iulabs driver lacks support for PAL-NC, so I will have to roll back to btwincap unless I find a suitable driver. btwincap worked properly with all software, even vnc until the last few releases.

gboado
New Cone
New Cone
Posts: 8
Joined: 05 Apr 2006 13:51

Postby gboado » 17 Apr 2006 09:53

By the way... Do you have any ideas about the audio problem? It's most annoying, since it's fed by the standard audio input of the PC. If I select either mono or stereo mix, I get lots of noise (and it sounds as if it were amplified by a kind of ALC like code, quickly saturating the speakers...).


Return to “VLC media player for Windows Troubleshooting”

Who is online

Users browsing this forum: No registered users and 36 guests