Page 1 of 1
Directshow Input Support for Osprey Stopped Working
Posted: 12 Jun 2004 12:20
by markfm
A topic was started under "Requests", but I believe this might be a better location, as it's a breakage in VLC operation.
The Osprey framegrabber is a pretty general video framegrabber that also has an audio input. The Osprey is a DirectX card. My test platforms are Win2K, fully patched, DirectX 9.0B.
Another person posted yesterday, Osprey 210 no longer working with VLC release version 0.7.2, though it had worked with VLC 0.7.1. It happens that yesterday was my first testbed day in a while, I found the same thing: Osprey 210 doesn't work with current SVN pre-release 0.7.3, which includes dshow.cpp files showing a modification date of 19 May.
Looking at earlier VLC snapshots, I've pulled dshow.cpp files dated 5 March, 12 April, and 27 April (by dated I mean that dshow.cpp shows $Id: dshow.cpp 6961 2004-03-05 17:34:23Z sam $, $Id: dshow.cpp 7324 2004-04-12 10:44:34Z gbazin, and $Id: dshow.cpp 7522 2004-04-27 16:35:15Z sam).
I cannot get a clean compile of the current VLC 0.7.3 when inserting the 5 March dshow files. I get these 5 March files by extracting them from vlc-snapshot-20040330.tar.gz. When I compile 5 March dshow with current everything-else, I get:
dshow.cpp:761: warning: unsigned int format, long int arg (arg 5)
dshow.cpp:776: warning: unsigned int format, long int arg (arg 5)
dshow.cpp:824: warning: unsigned int format, long int arg (arg 5)
dshow.cpp: In function `int DemuxOpen(vlc_object_t*)':
dshow.cpp:1352: error: invalid conversion from `void*' to `es_out_id_t**'
dshow.cpp:1352: error: invalid conversion from `void*' to `es_out_id_t**'
dshow.cpp:1365: error: invalid conversion from `void*' to `es_out_id_t**'
dshow.cpp:1365: error: invalid conversion from `void*' to `es_out_id_t**'
make[6]: *** [libdshow_plugin_a-dshow.o] Error 1
make[6]: Leaving directory `/home/mfm/vlc-trunk/modules/access/dshow'
So the best I can do is check earlier dshow file sets of 12 April and 27 April reinserted in the current VLC source.
This assumes that the directshow files at modules\access\dshow are what controls VLC's interaction with directshow input video devices (framegrabbers). Is this right, or do I need to try something else, compile complete earlier snapshots instead of just bringing in these dshow files?
Thank you.
results of trying earlier dshow versions (failure):
Posted: 12 Jun 2004 17:05
by Guest
I tried a couple of versions of VLC with the Osprey 210. It worked very well, as expected (because it's a DirectX-compatible device) with earlier VLC, but something has clearly gone awry.
These are the Message logs for:
1. Successful 31 March CVS pre-release snapshot of 0.7.2 (works fine with Osprey)
2. Failed 11 June 0.7.3, plugging in the 12 April version of the dshow files (works fine with a Webcam at home, not with an Osprey framegrabber). This compiled fine at home, worked fine with a home Webcam. In this case VLC made it to working with the CaptureFilter and CapturePin parts of the code, before declaring that it couldn't open the video. The files I grafted from 0412 were the entire contents of the dshow directory -- 6 files I believe, including dshow.cpp, filter.cpp, filter.h, makefile.am, makefile.in, and another one I don't recall; I emptied the current subversion snapshot dshow main directory, copied these 0412 version files in, and also left in the current subversion .svn and .po subdirectories (didn't seem harmful, as the compiled code did work OK with my Webcam).
3. Failed official release version of 0.7.2, using the zipped package on the main VLC page. This version should have had newer dshow files than 12 April in it, and the log "looks" like it was less happy than the 12 April dshow files had been) -- it failed on the initial attempt to connect to the Osprey driver, "unsupported media types".
OK 0331 CVS:
main debug: adding playlist item `dshow://' ( dshow:// )
main debug: creating new input thread
main debug: option: :dshow-vdev=o100vc.dll - Osprey Capture Card 1
main debug: set input option: dshow-vdev to o100vc.dll - Osprey Capture Card 1
main debug: option: :dshow-adev=none
main debug: set input option: dshow-adev to none
main debug: option: :dshow-size=640x480
main debug: set input option: dshow-size to 640x480
main: playlist item `dshow://'
main debug: waiting for thread completion
main debug: access `dshow', demux `', name `'
main debug: looking for access module
main debug: probing 1 candidate
main debug: thread 3008 (input) created at priority 1 (src/input/input.c:323)
dshow debug: Width x Height 640x480
dshow debug: found device: Envivio VisionRGB (0)
dshow debug: found device: Envivio VisionRGB (1)
dshow debug: found device: o100vc.dll - Osprey Capture Card 1
dshow debug: using device: o100vc.dll - Osprey Capture Card 1
dshow debug: CaptureFilter::AddRef (ref: 1)
dshow debug: CaptureFilter::JoinFilterGraph
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::QueryInterface
dshow debug: connecting filters
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::AddRef (ref: 2)
dshow debug: CaptureFilter::QueryFilterInfo
dshow debug: CaptureFilter::Release (ref: 3)
dshow debug: CapturePin::QueryInternalConnections
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::AddRef (ref: 2)
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::AddRef (ref: 3)
dshow debug: CaptureFilter::Release (ref: 4)
dshow debug: CaptureEnumPins::Next
dshow debug: CapturePin::AddRef (ref: 1)
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::Release (ref: 2)
dshow debug: CaptureEnumPins::Release (ref: 1)
dshow debug: CaptureEnumPins::~CaptureEnumPins
dshow debug: CaptureFilter::Release (ref: 3)
dshow debug: CapturePin::EnumMediaTypes
dshow debug: CapturePin::AddRef (ref: 1)
dshow debug: CaptureEnumMediaTypes::Reset
dshow debug: CaptureEnumMediaTypes::Next
dshow debug: CaptureEnumMediaTypes::Release (ref: 1)
dshow debug: CaptureEnumMediaTypes::~CaptureEnumMediaTypes
dshow debug: CapturePin::Release (ref: 2)
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryInterface
dshow debug: CapturePin::AddRef (ref: 1)
dshow debug: CapturePin::AddRef (ref: 2)
dshow debug: CapturePin::ReceiveConnection
dshow debug: CapturePin::GetAllocatorRequirements
dshow debug: CapturePin::NotifyAllocator
dshow debug: MEDIATYPE_Video
dshow debug: found device: Osprey-200 Audio
dshow debug: found device: SoundMAX Digital Audio
dshow error: can't use device: none
dshow error: can't open audio
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::AddRef (ref: 2)
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureFilter::Release (ref: 3)
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::AddRef (ref: 2)
dshow debug: CaptureEnumPins::Next
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureEnumPins::Next
dshow debug: CaptureEnumPins::Release (ref: 1)
dshow debug: CaptureEnumPins::~CaptureEnumPins
dshow debug: CaptureFilter::Release (ref: 3)
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::AddRef (ref: 2)
dshow debug: CaptureEnumPins::Next
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureEnumPins::Next
dshow debug: CaptureEnumPins::Release (ref: 1)
dshow debug: CaptureEnumPins::~CaptureEnumPins
dshow debug: CaptureFilter::Release (ref: 3)
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::AddRef (ref: 2)
dshow debug: CaptureEnumPins::Next
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureEnumPins::Next
dshow debug: CaptureEnumPins::Release (ref: 1)
dshow debug: CaptureEnumPins::~CaptureEnumPins
dshow debug: CaptureFilter::Release (ref: 3)
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::QueryInterface
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureFilter::SetSyncSource
dshow debug: CaptureFilter::Pause
dshow debug: CaptureFilter::AddRef (ref: 2)
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::Release (ref: 3)
dshow debug: CaptureFilter::Run
main debug: using access module "dshow"
main debug: looking for demux module
main debug: probing 14 candidates
mp4 warning: MP4 plugin discarded (not a valid file)
avi warning: avi module discarded (invalid header)
dshow debug: added new video es I420 640x480
main debug: using demux module "dshow"
main debug: selecting ES 0x1
main debug: looking for decoder module
main debug: probing 20 candidates
main debug: using decoder module "rawvideo"
main debug: thread 3388 (decoder) created at priority 0 (src/input/input_dec.c:153)
main debug: no usable vout present, spawning one
main debug: looking for video output module
main debug: probing 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 3432 (DirectX Events Thread) created at priority 0 (directx.c:231)
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: End DirectXInitDDraw
vout_directx debug: DirectXCreateDisplay
vout_directx debug: DirectXCreateClipper
main debug: using video output module "vout_directx"
main debug: looking for text renderer module
main debug: probing 3 candidates
freetype debug: Using fontsize: 30
main debug: using text renderer module "freetype"
vout_directx debug: NewPictureVec overlay:yes chroma:YV12
vout_directx debug: YUV overlay created successfully
vout_directx debug: End NewPictureVec (succeeded)
main debug: got 1 direct buffer(s)
main debug: picture in 640x480, chroma 0x30323449 (I420), aspect ratio 4:3
main debug: picture out 640x480, chroma 0x32315659 (YV12), aspect ratio 4:3
main debug: direct render, mapping render pictures 0-6 to system pictures 1-7
main debug: waiting for thread completion
main debug: thread 3468 (video output) created at priority 1 (src/video_output/video_output.c:484)
dshow warning: cannot read data
main: EOF reached
main debug: 230 loops
main debug: dumping stream ID 0x0 [OK:0/D:0]
main debug: pace un-controlled
main debug: dumping program 0x0, version 0 (partial)
main debug: ES 0x0, stream 0x0, fourcc `null', not selected [OK:0/ERR:0]
main debug: ES 0x1, stream 0x0, fourcc `I420', selected [OK:0/ERR:0]
main debug: unlocking module "dshow"
main debug: unselecting ES 0x1
rawvideo warning: invalid frame size (188 < 460800)
main debug: unlocking module "rawvideo"
main debug: thread 3388 joined (src/input/input_dec.c:207)
main debug: killing decoder fourcc `I420', 9 PES in FIFO
main debug: no more selected ES
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::AddRef (ref: 2)
dshow debug: CaptureEnumPins::Next
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo
dshow debug: CapturePin::Disconnect
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureEnumPins::Release (ref: 1)
dshow debug: CaptureEnumPins::~CaptureEnumPins
dshow debug: CaptureFilter::Release (ref: 3)
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::Disconnect
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureFilter::Release (ref: 2)
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::AddRef (ref: 1)
dshow debug: CaptureEnumPins::Next
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureEnumPins::Next
dshow debug: CaptureEnumPins::Release (ref: 1)
dshow debug: CaptureEnumPins::~CaptureEnumPins
dshow debug: CaptureFilter::Release (ref: 2)
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::AddRef (ref: 1)
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureFilter::Release (ref: 2)
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::AddRef (ref: 1)
dshow debug: CaptureEnumPins::Next
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureEnumPins::Next
dshow debug: CaptureEnumPins::Release (ref: 1)
dshow debug: CaptureEnumPins::~CaptureEnumPins
dshow debug: CaptureFilter::Release (ref: 2)
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::AddRef (ref: 1)
dshow debug: CaptureEnumPins::Next
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureEnumPins::Next
dshow debug: CaptureEnumPins::Release (ref: 1)
dshow debug: CaptureEnumPins::~CaptureEnumPins
dshow debug: CaptureFilter::Release (ref: 2)
dshow debug: CaptureFilter::Stop
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::AddRef (ref: 1)
dshow debug: CaptureEnumPins::Next
dshow debug: CapturePin::AddRef (ref: 3)
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo
dshow debug: CapturePin::Release (ref: 4)
dshow debug: CaptureEnumPins::Next
dshow debug: CaptureEnumPins::Release (ref: 1)
dshow debug: CaptureEnumPins::~CaptureEnumPins
dshow debug: CaptureFilter::Release (ref: 2)
dshow debug: CaptureFilter::SetSyncSource
dshow debug: CaptureFilter::JoinFilterGraph
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::AddRef (ref: 1)
dshow debug: CaptureFilter::Release (ref: 2)
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::GetState 0
dshow debug: CaptureFilter::Release (ref: 1)
dshow debug: CaptureFilter::~CaptureFilter
dshow debug: CapturePin::Release (ref: 3)
dshow debug: CapturePin::AddRef (ref: 2)
dshow debug: CapturePin::Disconnect
dshow debug: CapturePin::Release (ref: 3)
dshow debug: CapturePin::Release (ref: 2)
dshow debug: CapturePin::Release (ref: 1)
dshow debug: CapturePin::~CapturePin
main debug: unlocking module "dshow"
main debug: pes: 0 packets
main debug: data: 0 packets
main debug: buffers: 2 packets
main debug: freeing info structures...
main debug: thread 3008 joined (src/input/input.c:357)
main debug: garbage collector destroying 1 vout
main debug: unlocking module "freetype"
vout_directx debug: DirectXCloseSurface
vout_directx debug: DirectXCloseDisplay
vout_directx debug: DirectXCloseDisplay clipper
vout_directx debug: DirectXCloseDisplay display
vout_directx debug: DirectXCloseDDraw
vout_directx debug: CloseVideo
vout_directx debug: DirectXEventThread terminating
vout_directx debug: DirectXCloseWindow
vout_directx debug: WinProc WM_DESTROY
main debug: thread 3432 joined (directx.c:427)
main debug: unlocking module "vout_directx"
main debug: thread 3468 joined (src/video_output/video_output.c:509)
Failed current (11 June) pre-release 0.7.3 subversion, with dshow directory files replaced by the 12 April version of dshow files:
main debug: adding playlist item `dshow://' ( dshow:// )
main debug: creating new input thread
main debug: option: :dshow-vdev=o100vc.dll - Osprey Capture Card 1
main debug: set input option: dshow-vdev to o100vc.dll - Osprey Capture Card 1
main debug: option: :dshow-adev=none
main debug: set input option: dshow-adev to none
main debug: option: :dshow-size=640x480
main debug: set input option: dshow-size to 640x480
main debug: option: :no-dshow-config
main debug: set input option: dshow-config to (null)
main: playlist item `dshow://'
main debug: waiting for thread completion
main debug: access `dshow', demux `', name `'
main debug: looking for access module
main debug: probing 1 candidate
main debug: thread 2972 (input) created at priority 1 (src/input/input.c:326)
dshow debug: Width x Height 640x480
dshow debug: found device: Envivio VisionRGB (0)
dshow debug: found device: Envivio VisionRGB (1)
dshow debug: found device: o100vc.dll - Osprey Capture Card 1
dshow debug: using device: o100vc.dll - Osprey Capture Card 1
dshow debug: CaptureFilter::AddRef (ref: 1)
dshow debug: CaptureFilter::JoinFilterGraph
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::QueryInterface
dshow debug: connecting filters
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::EnumPins
dshow debug: CaptureFilter::AddRef (ref: 2)
dshow debug: CaptureEnumPins::Next
dshow debug: CapturePin::AddRef (ref: 1)
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo
dshow debug: CapturePin::Release (ref: 2)
dshow debug: CaptureEnumPins::Next
dshow debug: CaptureEnumPins::Release (ref: 1)
dshow debug: CaptureEnumPins::~CaptureEnumPins
dshow debug: CaptureFilter::Release (ref: 3)
dshow debug: CaptureFilter::SetSyncSource
dshow debug: CaptureFilter::JoinFilterGraph
dshow debug: CaptureFilter::QueryInterface
dshow debug: CaptureFilter::GetState 0
dshow debug: CaptureFilter::Release (ref: 2)
dshow debug: CaptureFilter::Release (ref: 1)
dshow debug: CaptureFilter::~CaptureFilter
dshow debug: CapturePin::Release (ref: 1)
dshow debug: CapturePin::~CapturePin
dshow error: can't open video
dshow debug: found device: Osprey-200 Audio
dshow debug: found device: SoundMAX Digital Audio
dshow error: can't use device: none
dshow error: can't open audio
dshow debug: Releasing DirectShow
main warning: no access module matching "dshow" could be loaded
main error: no suitable access module for `dshow/://'
main debug: pes: 0 packets
main debug: data: 0 packets
main debug: buffers: 0 packets
main debug: thread 2972 joined (src/input/input.c:373)
Failed official release 0.7.2 (the plugins are dated 21 May, so I don't know if this release had the 19 May version of dshow files, or the earlier May version of them):
main debug: adding playlist item `dshow://' ( dshow:// )
main debug: creating new input thread
main debug: option: :dshow-vdev=o100vc.dll - Osprey Capture Card 1
main debug: set input option: dshow-vdev to o100vc.dll - Osprey Capture Card 1
main debug: option: :dshow-adev=none
main debug: set input option: dshow-adev to none
main debug: option: :dshow-size=640x480
main debug: set input option: dshow-size to 640x480
main debug: option: :no-dshow-config
main debug: set input option: dshow-config to (null)
main: playlist item `dshow://'
main debug: waiting for thread completion
main debug: access `dshow', demux `', name `'
main debug: looking for access module
main debug: probing 1 candidate
main debug: thread 3140 (input) created at priority 1 (src/input/input.c:326)
dshow debug: Width x Height 640x480
dshow debug: found device: Envivio VisionRGB (0)
dshow debug: found device: Envivio VisionRGB (1)
dshow debug: found device: o100vc.dll - Osprey Capture Card 1
dshow debug: using device: o100vc.dll - Osprey Capture Card 1
dshow error: can't use device: o100vc.dll - Osprey Capture Card 1, unsupported media types
dshow error: can't open video
dshow debug: found device: Osprey-200 Audio
dshow debug: found device: SoundMAX Digital Audio
dshow error: can't use device: none, unsupported device type
dshow error: can't open audio
dshow debug: Releasing DirectShow
main warning: no access module matching "dshow" could be loaded
main error: no suitable access module for `dshow/://'
main debug: pes: 0 packets
main debug: data: 0 packets
main debug: buffers: 0 packets
main debug: thread 3140 joined (src/input/input.c:373)
Thoughts/comments/workarounds would be appreciated. Is there some other chunk of code that I should try dropping in from the 0412 version of software (beyond the dshow access module files), elsewhere in a current SVN set, to see if it will work?
Thanks.
Posted: 14 Jun 2004 13:04
by markfm
Should I post this up to the vlc or vlc-developer mailing list?
Thanks.
Osprey 210 card problems
Posted: 16 Jun 2004 11:49
by Quovodis
I've looked at your debug output, and it shows that your video card driver fails to return any supported MEDIA_TYPES (resolution & chroma). I've modified the dhow plug-in to use those media types, in order to optimize the capture. unfortunately, by doing so I removed the leniency of the dshow plugin toward badly behaved driver such as yours, hence explaining the failure.
first of all I would suggest that you try to upgrade your capture card driver to a WDM version, if possible. Secondly, I will try to allow the lack of supported media types if user explicitly specifies the resolution and chroma.
Damien
Posted: 16 Jun 2004 12:44
by markfm
Reply posted in mailing list -- I'm running current (well, one back) 2004 drivers, will try the very latest Osprey SW, but doubt it changes the SW interface.
Adding the leniency back would be appreciated, as the card worked very well, and VLC had been successfully opening the card's Windows device control applet in the 5 March dshow/filter versions.
Thanks again.
Posted: 17 Jun 2004 19:16
by markfm
No luck with the latest Osprey drivers -- definitely could use the leniency added back in.
Thank you.
Posted: 22 Jun 2004 11:24
by Quovodis
should be fixed now, have a go at compiling the latest svn version
Posted: 22 Jun 2004 20:54
by markfm
I compiled with a fresh download this morning, 6/22/03. It shows new versions of the dshow and filter files.
It is working fine in terms of letting me select/use the Osprey, but there is a major memory leak when streaming the DirectShow input.
Playing an MPEG-encoded AVI with no sound is fine.
I take the same file, set it to stream, use transcoding (MP4V 768 kbps), and it looks fine.
Open DirectShow input, local viewing, and it takes a healthy bump in memory, plus CPU, but looks fine. (my in-office test machine is lame, 800 MHz, so CPU use is not a surprise) 55 - 60% CPU use, consistent, stable memory use.
Take the same DirectShow, set it to stream (MP4V 768 kbps), no local display, and it starts to leak. I was up to 255MB memory use in 60 seconds.
The CPU is pegged -- about 99%. Could the memory leak be just because the CPU isn't fast enough, so it's hitting a buffer issue (schlepping in new frames faster than it can process the existing ones)?
On my 3 GHz machines, the older pre-0.7.2 VLC, CPU utilization was about 18 - 20%, and I don't recall memory use, though I don't believe it was leaking (we had VLC running for long periods of time without issues).
Thanks.
Posted: 23 Jun 2004 20:45
by markfm
Definitely a memory leak...
Win2K, fully patched, 0.7.3 subversion pre-release compiled yesterday (6/22).
I'm using the 800 MHz PC again today, but knocked the frame size down to 320x240 (I was running full 640x480 yesterday).
VLC is set to take DirectShow input, video only, 320x240 resolution off of the framegrabber, stream via UDP, using point-to-point UDP, mp4V transcoding, 768 kbps.
CPU use by VLC dropped to about 30%, no problem. I'm not running anything else actively (just some open, but minimized, programs).
There's definitely a memory leak somewhere. With just the Message window and Windows Task Manager open on the desktop, running 320x240 video capture, VLC memory utililzation increased from 14580 KB to 16540KB over 10 minutes, and 17000 KB at 20 minutes. (in other words 2.4 MB increase). It's a gradual increase but consistently trending upwards with time.
For VLC Messages, I only had one over the 10 minutes:
mux_ts debug: adjusting rate at 66022/239100 (193/19)
I believe that may not have occured until I popped open my Web browser. As I've mucked about a bit, opening and sliding windows on the Desktop, I've gotten a few more of the above message -- ffmpeg auto-adjusting itself a bit to keep within the nominal bandwidth?
(for testing, I'm taking an analog composite output from my PC, a clone of the Desktop, and feeding that as the input to the Osprey card being used by the VLC server)
Thanks.
Posted: 28 Jun 2004 06:02
by guest
Could you please provide me the link of vlc 0.7.2 (updated with osprey 210 support) . I am using this extensively i am unable to use it in vlc 0.7.2.
I have not yet succeeded in compiling it as you have explained in this thread.
Posted: 28 Jun 2004 18:17
by markfm
I'm afraid I don't have a link -- it's an intermediate build, pre-0.7.3. I download the latest Subversion files, compile it myself using Cygwin.
I posted a "Working Cygwin VLC Compile Environment" document.
EDIT: The document is at:
http://developers.videolan.org/vlc/Cygw ... ntRevB.pdf
The document is accurate other than that the latest contrib package is contrib-200412.. (a December 2004 version of the contrib package)
One thing to watch out for, if you are using Internet Explorer -- it likes to rename the contrib file to .tar.tar -- when you download it, you need to set it to .tar.bz2 (IE for some reason repeats the"tar" file extension, rather than accepting that it is .tar.bz2)
How to compile ffmpeg with VLC in cygwin
Posted: 13 Jan 2005 06:33
by Ahilan
can you guys help me ,how to compile ffmpeg with VLC source codes by using cygwin.Thanks