directshow

The operation could not be performed because the filter is in the wrong state GetCurrentBuffer

不羁的心 提交于 2020-01-06 04:54:09
问题 The operation could not be performed because the filter is in the wrong state I am getting this error when attemting to run hr = m_pGrabber->GetCurrentBuffer(&cbBuffer, NULL);. Strange part is - it initially worked when I stopped the graph, now it fails on running or stopped graph. So - what state it should be in?? The sample grabber code in MSDN I copied does not say if the graph should be stopped or running to get the buffer size - but the way it is presented the graph is running. I assume

Alternative way to program instead of using ISpecifyPropertyPages in Directshow

▼魔方 西西 提交于 2020-01-06 02:29:15
问题 To start off I'm terrible at this directshow stuff. I have almost no clue as to how it works. And I'm trying to access this "value" from a camera that's called Area of Interest x and y, at least that's what it was called in the Camera program that came with the camera. Basically it moves the the camera's view left to right or top to bottom (The camera does not physically move). Problem is I can't find how to do that in Directshow. But, luckily, I came across a program with a source code that

c# directshow.net tee filter render fails

只谈情不闲聊 提交于 2020-01-05 09:06:59
问题 I'm trying to connect an Alax.Info IP camera source filter to a capture and a preview renderer. I add the source filter to a graph, and render the pin. This produces a direct connection to a VMR, and it works. GraphEdit shows the camera filter's output pin type is RGB32 . When I connect the output of the camera source filter to a tee (either a Smart Tee filter, or an Infinite Tee filter), rendering the output from the tee causes an AVI Decompressor filter to be inserted between the tee and

Can I make my private DirectShow filter discoverable by Moniker by external programs?

喜夏-厌秋 提交于 2020-01-05 08:09:21
问题 This is a long shot but if I could do this it would save me time and a hassle. I have a DirectShow video filter that is a typical external DLL (AX file) that feeds video to Skype. I already know how to use a filter privately. However, I don't know if it's possible to make a private filter, one that is embedded in an EXE and is not an external DLL, discoverable by external programs. As far as I know, the main way DirectShow filters are made visible is via registering them in the Registry as an

How to find the IMoniker used to create a source filter?

和自甴很熟 提交于 2020-01-05 06:27:12
问题 Currently I'm writing a DirectShow based application that should help users configuring their TV capture cards, since GraphEdit seems to be too difficult for most to understand. The idea is that this application exports the generated Graph to a .GRF file, that will be used in another application. Users can select which device (IMoniker) should be used to create a source filter, and can change some settings regarding video / audio. Next to exporting .GRF files, my application should also have

News Marquee over analog TV stream - C#

五迷三道 提交于 2020-01-05 05:57:27
问题 I want to put a news marquee over an analog TV stream using c#, I can stream analog TV using DirectShow but I can't figure out how to mix it with rotating text, should I create a filter? or I have to use another technology than DirectShow? 回答1: DirectShow is the simplest way of doing this but it does have a bit of a learning curve, particularly coming from C#. The Wikipedia page gives you a basic overview of DirectShow. DirectShow tools are available in the latest Windows SDK. Using C++ for

Changing sampled video size

♀尐吖头ヾ 提交于 2020-01-04 15:28:04
问题 I am capturing a video using DirectShow Library (.NET), I have an analog device that outputs video through BNC, I connected it to a FrameGrabber hardware (http://www.videohome.com.tw/eng/products-detail.php?p_id=72&level1_id=18) connecting through USB to my computer, I was told that the analog device outputs the video at 720x576, however I get the video at 640x480, at the site it says the FrameGrabber does support 720x576. For the purpose of simplicity, I tried to do what's described next in

How to detect the device name for a capture device?

不问归期 提交于 2020-01-04 05:57:29
问题 I am writing a GStreamer application (GStreamer uses DirectShow under the hood on Windows) that captures a computer's microphone and videocamera. It works fine, but requires me to specify the device names manually. I would like to have my program detect these automatically. Does anyone know how to do that? 回答1: It would surprise me if GStreamer doesn't have capabilities to enumerate devices, but DirectShow definitely has. See the article on using the system device enumerator and use it with

How to detect the device name for a capture device?

♀尐吖头ヾ 提交于 2020-01-04 05:57:05
问题 I am writing a GStreamer application (GStreamer uses DirectShow under the hood on Windows) that captures a computer's microphone and videocamera. It works fine, but requires me to specify the device names manually. I would like to have my program detect these automatically. Does anyone know how to do that? 回答1: It would surprise me if GStreamer doesn't have capabilities to enumerate devices, but DirectShow definitely has. See the article on using the system device enumerator and use it with

Grabbing images from a DVD using direct show

倖福魔咒の 提交于 2020-01-02 08:57:16
问题 Is anybody aware of a way of grabbing images from a DVD using DirectShow and C++? The sample grabber is not supported when using the DVD renderer and if I use GetCurrentImage, which is part of the VMR9 windoless control, it doesn't appear to work. 回答1: Check out the "SampVid" sample in the directshow samples: http://msdn.microsoft.com/en-us/library/dd375468(VS.85).aspx With that you can write your own video renderer filter. The only issue you'll have is how to capture the frmae as it all goes