Click here to Skip to main content
12,406,592 members (49,324 online)

Comments by Maxim Kartavenkov (Top 105 by date)

Maxim Kartavenkov 9-Jul-15 12:03pm View
Sure your code will not work.
You are even not even read mine answer, but asking the same!!!
You are not copy back buffer data to your surface in your code.

1. Create Device with the ARGB32 back buffer format.
2. Create offscreen surface not with the resolution which you take from GDI but from the back buffer resolution (they can be not the same)
3. Get back buffer surface and copy to your surface
4. Save surface into a file.

Maxim Kartavenkov 8-Jul-15 10:50am View
Create destination surface in system memory pool instead of scratch.
Maxim Kartavenkov 31-Mar-15 15:21pm View
If you not able to build filter graph then you not have codecs that required to split the TS files. VLC have it embedded but for DirectShow you need the splitter. Try to download K Lite codecs pack - in there Haali splitter and LAV splitter which allows to handle TS files.
Maxim Kartavenkov 31-Mar-15 15:16pm View
The ffdshow filter internally can query for application name and according to that enable/disable some features according blacklist or white list.Also ffdshow have multi instancing property, check for the filter settings.
Another thing that Probably GraphStudioNext is x64 and you creates x86 application - so the filters are loading are different and have different settings loads from registry.

Maxim Kartavenkov 10-Jan-14 10:21am View
The user account from which you currently launching the service does not allows you to perform operation you trying to do in the service, that's why you getting access denied exception. Change the user account from which service will be started as I described.
Maxim Kartavenkov 10-Jan-14 7:27am View
Initialize ServiceProcessInstaller object properties: Account, Password and Username.
Maxim Kartavenkov 10-Jan-14 4:44am View
Isn't complexy of implementation in C#.
Maxim Kartavenkov 11-Dec-13 3:44am View
then use memcmp(&ip->ip_dst,&ip->ip_src,sizeof(ip->ip_dst)) == 0 instead
Maxim Kartavenkov 11-Dec-13 3:32am View
inet_ntoa - returns the string of IPv4 in format "a.b.c.d" so you should use comparing the strings in this case like I mention. But you can compare directly the addresses without converting then into the strings: ip->ip_dst == ip->ip_src
Maxim Kartavenkov 2-Jul-13 12:58pm View
You seems uses the COM wrapper. register the object on the new system with regsvr32 tool and after use it. Your error means that Object with specified guid not registered in system.
Maxim Kartavenkov 6-Jun-13 6:20am View
Open ffdshow property page in graphedit or graphstudio tool in there you can find about tab - on that tab the version information will be.
Maxim Kartavenkov 26-Apr-13 12:19pm View
wrong, solution 3 and 4 are correct.
Maxim Kartavenkov 27-Mar-13 14:10pm View
Actully, the best way from performance and sync position it is to use the allocator presenters with same Direct3D device and multiple render targets. But it require brief Direct3D knowledge and DirectShow.
Maxim Kartavenkov 27-Mar-13 6:35am View
Yep, that links can be useful.
Maxim Kartavenkov 27-Mar-13 3:58am View
Once you have WDK installed you can find samples as the followed path DDK\version\src\filesys\miniFilter
Maxim Kartavenkov 26-Mar-13 7:39am View
had you try google search?
Maxim Kartavenkov 26-Mar-13 0:54am View
What is necessary under XP is to specify property sheet guid (or guids). Under Vista+ as I remember necessary to specify provider (which will map your file properties to standard metadata values) and also property sheet guid (or guids) to show your properties via right click. Whole such information you can find in registry and articles abt shell extension should helps you figure out what properties to use.
Maxim Kartavenkov 25-Mar-13 8:17am View
USHORT usValue = 123;
double dValue = (double)usValue;
Maxim Kartavenkov 25-Mar-13 6:38am View
Try to call WM_CAP_DLG_VIDEOFORMAT and specify one of resolution value from that dialog in your code.
Maxim Kartavenkov 25-Mar-13 6:13am View
Are you sure that Width and Height is accepted by the capture driver?
Maxim Kartavenkov 25-Mar-13 5:53am View
Hi Alex,
Not sure that will be usefull to him. He starting with the drivers and with IFS. In IFS drivers there is no access to any WinAPI includig CryptoAPI as it totally kernel driver type.
Maxim Kartavenkov 25-Mar-13 5:44am View
Let's start again. You can download the ffdshow source code.
In there you can find how to configure it.
You can even build it and debug from GraphEdit or your application.
I'm not see any issues and problems here.
Maxim Kartavenkov 25-Mar-13 5:33am View
You have source code which you can build, in there you have interface declarations and guids,and even see how the properties changes, what else you need?
Maxim Kartavenkov 25-Mar-13 5:11am View
So you even have a wiki.
Maxim Kartavenkov 25-Mar-13 5:06am View
You can download FFDShow sources and see the all methods
Maxim Kartavenkov 24-Mar-13 14:07pm View
Sure that will works as it is an automation, but integrating simple callback is much easy and faster to implement and integrate, plus the COM plumbing will require additional knowledge of COM itself implementing COM objects in C++, probably ATL and it classes and their architecture connection points, dispinterfaces and so on. Compare to implementing callback it just require add the one function to set callback and make to call callback routine from existing code without much modify existing C++ or delphi code.
Maxim Kartavenkov 24-Mar-13 12:23pm View
I didn't mean only my answer. And my answer is well explained. for you it is not bcs you even not understand the question as you not understand the scope of the task it require to solve.
My answer is one which have code example. And you even can't display code of your point. So how can you vote? You just making the abuse. I saw couple of your anwsers there you also answering without understanding the scope - just as it should be and all.
Maxim Kartavenkov 24-Mar-13 3:40am View
I no need the discussion. I need you to be responsible of what you are saying, that's it. Let's deal next way:
1. You showing the code of the way you mention - to show that can be responsibe of your words.
2. You revote on answers and questions there you vote of 1, or provide description of the reason there you vote this way.
3. You stop insulting user questions and become commenting and answering on questioins there you really sure that your answer is correct and useful.
Otherwise I'll do just putting reference to that discussion next to your answer or comment there you are not correct, so users will see your background.
Maxim Kartavenkov 23-Mar-13 1:27am View
Same thing - just the words and nothing more. I responsible - but you - not. As expected you can't prove your words. But why you are insulting newble who asked the questions? Mostly saying "Why you asking that..." or "Why you are doing this way..." along downwoting questions and answers which are correct. So new user registred to asking something and you saying to him that he dumb. But you have no reason on that, bcs you are not responsible for your words as you even can't prove simple implementation which you are saying easy way and tooks less time than mine?
Maxim Kartavenkov 23-Mar-13 0:44am View
Look, I professional COM developer, who have tons of certificates in different programming languages and technologies. And I sure that I know much more abt IDL and COM than you that's why I asking you to show me the code if you telling that such solution will be easy to use and easy to integrate - my code sample I implement within 10-15 minutes. Are you ahve 10-15 minutes to implement stuff which you telling is much easy?
Maxim Kartavenkov 22-Mar-13 12:01pm View
That doesn't matter I only describe to you what was the meaning by "messaging". Mostly looks like that you sitting here and just posting comments or some answers with just url with google searching without understanding what actually that for and how that works. I showed the code which is very easy and describe 2 solutions. You posting nothing and telling me what I not understanding something. So show what you have behind that, otherwise that just a words without background as well as most of your answers.
Maxim Kartavenkov 22-Mar-13 11:55am View
Show what you did? As I see just couple of words which have nothing behind that.
Maxim Kartavenkov 22-Mar-13 9:19am View
That mean the application and the DLL. Application is written in Delphi and the DLL in C++ and it is one process.
Maxim Kartavenkov 22-Mar-13 9:15am View
Well, it was just "mean" or you can show the code of that implementation?
Maxim Kartavenkov 22-Mar-13 9:09am View
No, abt messages,instead of directly callback function you can pass HWND of Delphi form into the DLL and use of particular SendMessage routine with that handle and receive and process that messages in application in window routine.
Maxim Kartavenkov 22-Mar-13 8:13am View
#pragma once - should be in .h file - had you seen example in my solution?
Maxim Kartavenkov 22-Mar-13 5:54am View
in case of exporting classes - then yes different compilers cause an issue, but that can be easy solved to make C functions export wrap around classes, actually that is mostly done in particular API just the classes pointers are output as a HANDLE for example.
Maxim Kartavenkov 22-Mar-13 5:49am View
No, I wasn't mean IPC. I doesn't even have mentioned that the better way to use IPC here. I describe how to simplify modify existing dll to make callback from one appllication to another see the code below. You probably not read proper the question which was asked or my answer.
Maxim Kartavenkov 22-Mar-13 5:36am View
abt shared memory I was meaning that he is used shared memory and that is fine and can be used but there are more simple solutions are available - or you haven't read his question?
Maxim Kartavenkov 22-Mar-13 5:34am View
I'm not suggested shared memory, I even post the whole code how it should looks. And it not require C++ Builder, it not require to be in same calling conversion bcs delphi allows to specify calling conversion without problems. What for necessary here the GCC and MSVC? here is the delphi. but I'm sure if you proper bind you dll interface you will never get your issue with GCC and MSVC.
Maxim Kartavenkov 22-Mar-13 5:26am View
If he doing DLL from scratch the COM will be fine and fair enought to make whole system, but if he already have dll and to modify it for COM along with whole application will be very painfull and requres a lot of time, so simple callback it is much easy. Regarding interfaces in object pascal - delphi without problem allows to import typelibrary - so no necessary to writing interfaces in pascal in case you have proper typelibrary in your COM.
Maxim Kartavenkov 22-Mar-13 5:19am View
Your solution just copy of mine, but there is require to have dll to be compiled in C++ Builder.
Maxim Kartavenkov 22-Mar-13 2:53am View
What for necessary to define COM interfaces. What for necessary in there re-creating the DLL itself? For programmer who asking such question, reimplementing DLL in C++ will be brain crashing.
Ofcouse you are here just to show your knowledge, if you are know COM that is good for you but re-creating all methods into interfaces binding connection points and events (hope you understand what it is or you have top of COM knowledge) - and imagine how much time it tooks compare to implement simple callback and integrate it in DLL? For me it tooks 15-20 minutes including examples on Delphi and C++:
C++ DLL: "MyDll.dll"
LPVOID g_pCallbackParam = NULL;
EXTERN_C VOID __declspec(dllexport) WINAPIV SetCallback(CALLBACKPROC _proc,LPVOID pParam)
g_pCallback = _proc;
g_pCallbackParam = pParam;
EXTERN_C VOID __declspec(dllexport) WINAPIV SomeDllMethod()
if (g_pCallback) g_pCallback(SOMEDLLMETHOD_EVENT_ID,(LONG_PTR)"some argument",g_pCallbackParam);
Delphi wrapper with dynamic DLL linkage:
TDllWrapper = class
FOnDllEvent: TNotifyEvent;
m_hDll: HMODULE;
function OnCallbackEvent(wEvent:DWORD;arg:Pointer):HRESULT; virtual;
procedure CallSomeDllMethod();
constructor Create;
destructor Destroy;
property OnDllEvent: TNotifyEvent read FOnDllEvent write FOnDllEvent;

TCALLBACKPROC = function(wEvent:DWORD;arg:Pointer;pParam:Pointer):HRESULT stdcall;
TSetCallbackFunc = procedure(_proc:TCALLBACKPROC;pParam:Pointer) cdecl;


function CallbackProc(wEvent:DWORD;arg:Pointer;pParam:Pointer):HRESULT stdcall;
result := 0;
if (pParam <> nil) then result := TDllWrapper(pParam).OnCallbackEvent(wEvent,arg);

constructor TDllWrapper.Create;
inherited Create;
m_hDll := LoadLibrary('MyDll.dll');
fnSetCallback := GetProcAddress(m_hDll,'SetCallback');

destructor TDllWrapper.Destroy;
fnSetCallback := GetProcAddress(m_hDll,'SetCallback');
inherited Destroy;

function TDllWrapper.OnCallbackEvent(wEvent:DWORD;arg:Pointer):HRESULT;
result := 0;
if Assigned(FOnDllEvent) then FOnDllEvent(self);

procedure TDllWrapper.CallSomeDllMethod();
fnSomeDllMethod:procedure() cdecl;
fnSomeDllMethod := GetProcAddress(m_hDll,'SomeDllMethod');
Example of usage:
TMainForm = class(TForm)
procedure OnDllEventCallback(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);


procedure TMainForm.OnDllEventCallback(Sender: TObject);
OutputDebugString('Our callback event called');

procedure TMainForm.FormCreate(Sender: TObject);
m_MyDll:= TDllWrapper.Create;
m_MyDll.OnDllEvent := OnDllEventCallback;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
Maxim Kartavenkov 13-Feb-13 7:51am View
Maybe your Dialog have style that it is main application window but you call it from other application?
Maxim Kartavenkov 13-Feb-13 7:49am View
Had you try to debug and check what g_hInstance value? Does your code get to the DialogBoxParam function once you call it from .NET (bcs CoInitialize already called in case you call dll from .NET and may return failure)? Had you try to call LoadResource and SizeOfResource to check proper resource ID once you call it from .NET?
Maxim Kartavenkov 13-Feb-13 5:35am View
You should read SDK documentation for the functions I mentioned.
The code you make totally wrong. You get backbuffer and after you should copy that data into your surface, but you are using same variable for all.
Maxim Kartavenkov 6-Feb-13 23:50pm View
I think he just at beginning of the cryptography, this way in compression called "vlc" or Variable-Length code, two numbers you may use this way but more numbers are coded with prefixes. Mostly uses in video/audio compression.
So, he is correct that he calls that as compression.
Maxim Kartavenkov 28-Jan-13 3:44am View
You are waiting till playback complete.
Maxim Kartavenkov 28-Jan-13 2:21am View
I know what your code do, and it were never plays the video before - this bcs you just copy it from somethere without understanding - and due that some code parts are at wrong location.
Maxim Kartavenkov 28-Jan-13 1:52am View
You modify the code without understanding it - you should research your self before pasting here code which you just cut from somethere.
Maxim Kartavenkov 27-Jan-13 6:55am View
In C++ it will be the same logic: create LPDIRECT3DSWAPCHAIN9 object with resolution you need to render. Perform rendering your scene onto that swap chain and call present method, once you resizing the window - just recreate swap chain object with new resolution.
Maxim Kartavenkov 25-Jan-13 4:12am View
maybe you forgot to initialize gdi+ library?
Maxim Kartavenkov 24-Jan-13 10:37am View
// C#
[DllImport("Dll.dll", CharSet=CharSet.Unicode)]
public static extern void RenderFile(string strFilename);
// C++
extern "C" __declspec(dllexport) void RenderFile(WCHAR *strFilename)
IGraphBuilder *pGraph = NULL;
IMediaControl *pControl = NULL;
IMediaEvent *pEvent = NULL;

// Create the filter graph manager and query for interfaces.
hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
if (FAILED(hr))
printf("ERROR - Could not create the Filter Graph Manager.");

hr = pGraph->QueryInterface(IID_IMediaControl, (void **)&pControl);
hr = pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);

// Build the graph. IMPORTANT: Change this string to a file on your system.
hr = pGraph->RenderFile(strFilename, NULL);
if (SUCCEEDED(hr))
// Run the graph.
hr = pControl->Run();
if (SUCCEEDED(hr))
// Wait for completion.
long evCode;
pEvent->WaitForCompletion(INFINITE, &evCode);

// Note: Do not use INFINITE in a real application, because it
// can block indefinitely.
Maxim Kartavenkov 24-Jan-13 10:35am View
1. remove "HRESULT hr = CoInitialize(NULL);"
2. remove "CoUninitialize();"
3. trash - "hr = pGraph->RenderFile((LPCWSTR)strFilename, NULL);" - if you use ANSI then use Conversion, otherwise use UNICODE.
Maxim Kartavenkov 18-Jan-13 7:37am View
here you can find sample:
Maxim Kartavenkov 18-Jan-13 7:20am View
Maxim Kartavenkov 18-Jan-13 6:46am View
Change filter merit so it will be selected by default for video playback, be sure that your filter available to output RGB24 and RGB32 - that you can check in GraphEdit tool.
Maxim Kartavenkov 10-Jan-13 13:26pm View
try to look at that posts: maybe you will find some useful things:
Maxim Kartavenkov 10-Jan-13 12:41pm View
You also can try retrieve methods at runtime from IDispatch and invoke them directly without binding.
Maxim Kartavenkov 10-Jan-13 7:41am View
Why are you doing conversion from C++ into C# if you not much familar with C#? - use C++ code. I already wrote you - there is no equivalent, I already gave you the URL which you should read.
Maxim Kartavenkov 10-Jan-13 7:22am View
Sure bcs C# and C++ it is different languages and I told you to review C# specification of what you are planing to do.
Maxim Kartavenkov 10-Jan-13 7:11am View
Sure, but had you asking the question to yourself: "what for it is needed?"
Maxim Kartavenkov 10-Jan-13 6:58am View
Yes, I wrote you note regarding that.
Maxim Kartavenkov 30-Nov-12 13:58pm View
NOTE: those DSP may work under vista and above only - but not sure - I didn't try to port them into XP
Maxim Kartavenkov 30-Nov-12 13:57pm View
You should register DMO classes example for resizer:

IBaseFilter * _filter;
hr = CoCreateInstance(CLSID_DMOWrapperFilter,NULL,CLSCTX_ALL,IID_IBaseFilter,(void**)&_filter);
ASSERT(hr == S_OK);
IDMOWrapperFilter * _wrapper;
hr = _filter->QueryInterface(IID_IDMOWrapperFilter(void**)&_wrapper);
if (S_OK == hr)
hr = _wrapper->Init(__uuidof(CResizerDMO),DMOCATEGORY_VIDEO_EFFECT);
ASSERT(hr == S_OK);
// Use DMO wrapper filter: _filter

IMediaObject * _object;
hr = CoCreateInstance(__uuidof(CResizerDMO),NULL,CLSCTX_ALL,IID_IMediaObject,(void**)&_object);
ASSERT(hr == S_OK);
// Use DMO object : _object
Maxim Kartavenkov 30-Nov-12 13:22pm View
IBaseFilter * pYourFilter; // initialized
int _numerator; // rate numerator
int _denominator; // rate denominator

IPropertyStore * _store;
if (S_OK == pYourFilter->QueryInterface(IID_IPropertyStore,(void**)&_store))
_value.vt = VT_UI8;
_value.uhVal.HighPart = _numerator;
_value.uhVal.LowPart = _denominator;
Maxim Kartavenkov 22-Nov-12 1:40am View
Maxim Kartavenkov 7-Nov-12 1:35am View
Type library it is description of what your COM dll is exports - so all applications can use your interfaces and declarations, but if you want this information to be private and only you will be know how to work with your objects then you can hide that info and do not export type library.
Maxim Kartavenkov 3-Nov-12 12:01pm View
had it find pin properly, what an HRESULT it returns during render stream call?
Maxim Kartavenkov 3-Nov-12 11:06am View
and what's the trouble?
Maxim Kartavenkov 3-Nov-12 8:19am View
show me code and there you have trouble
Maxim Kartavenkov 29-Oct-12 2:47am View
I gave you the code which solve your question. If you not understand the code what for you asking that? Maybe you should read books to understand?
Maxim Kartavenkov 28-Oct-12 2:08am View
For that you can use shaders, OpenCL, CUDA or OpenMP
Maxim Kartavenkov 27-Oct-12 12:30pm View
Forgot to mention that GDI+ also allows to modify the image:
Here is some additional information:
Once you download CUDA Toolkit in there you can find some samples of image processing.
Maxim Kartavenkov 27-Oct-12 12:20pm View
That's all depends on what for you need getpixel.
Maxim Kartavenkov 27-Oct-12 0:32am View
Create your class for pin inherit it from SourceStream implement GetMediaType DecideBufferSize and FillBuffer.
My classes are much similar to native:

Maxim Kartavenkov 18-Oct-12 5:35am View
Maxim Kartavenkov 16-Oct-12 9:26am View
Solution described in there should works fine.
You need to create interface with your method to export so you can query it, otherwise you should look what is imported from type library. In there should be generated interface for your object and your coclass (You can also use OleView tool and open resulted tlb). If you have no tlb - you have to export typelibrary with regasm tool. Along with it auto generated interface is always inherited from IDispatch - and you can figure out it's methods in runtime. You may use CoCreateInstance function instead of smart pointers.
Maxim Kartavenkov 16-Oct-12 9:10am View
wprintf in my code just an example what field in variant you should use. Sure you need an array of strings or as you using .NET use any collection objects.
Maxim Kartavenkov 16-Oct-12 1:26am View
Audio works same way, but you should takes care about output format - notify the source filter with format you sending. For testing you can hardcode output format, or if you planing to transfer PCM data you can do resampling on input and send fixed format so all sources will knows it. Along with that you need to make buffering of received data, and delivery without drops.

Maxim Kartavenkov 15-Oct-12 5:31am View
Create dll project in Visual Studio add your h file, create c or cpp file, make functions decalrations with exports and call in there your functions in h file, link with your lib file and build.
Maxim Kartavenkov 15-Oct-12 4:19am View
You can build a dll using lib and export functions from that lib. But in C# you can access the dll functions or COM objects. One note for dll's and C# DLL should be compiled for same platform as target PC, or you should specify fixed platform in C# app settings and build DLL for it.

Maxim Kartavenkov 9-Oct-12 10:15am View
Maxim Kartavenkov 8-Oct-12 9:26am View
You are mixing my code and yours without understanding what I wrote.
Maxim Kartavenkov 8-Oct-12 8:34am View
Full code - what goes before while?
Maxim Kartavenkov 8-Oct-12 8:19am View
You should enumerate interfaces inside enumeration of the devices. You need to get the device from the list and only after enumerate interfaces on it. so your "do" loop should be inside 2. in my list, and the SP_INFO_DATA structure which you got on device enumeration should be specified as the second argument in your SetupDiEnumDeviceInterfaces call. Follow?
Maxim Kartavenkov 8-Oct-12 7:58am View
Maybe help viewer executable is missed, are you available to open that chm file by clicking on it?
Try the next staements instead of yours:

Assembly _assembly = Assembly.GetExecutingAssembly();
string _path = Path.GetDirectoryName(_assembly.Location);
Help.ShowHelp(this, _path + "\\" + "HelpFile.chm");
Maxim Kartavenkov 8-Oct-12 2:18am View
Why it is not method? bcs it is not described as an article? You should specify that is related to mine stuff or even just make the comment but you instead specify the solution.
Not personal - but it looks not good from your side.
Maxim Kartavenkov 8-Oct-12 2:05am View
Maxim Kartavenkov 8-Oct-12 2:03am View
then you should declare you object in Form1.h as extern: "extern WebcamShow::CamShow test;" - that means object declaration located somethere but not here. In Form1.cpp declare that object: "WebcamShow::CamShow test;" - same line without "extern" and then include your Form1.h there you need your class. - follow?
Maxim Kartavenkov 8-Oct-12 0:41am View
Wow, you found an article which is described same stuff as I did in my solution. Are you reading that article or you just google and then copy link here, bcs why you downwove mine solution if it describes the same way? You are only found the proof that my solution is works fine. For you seems posting solution means to put any link in answer. I always describing the solution based on my experience and only if that's not enought explained I put the links.
Maxim Kartavenkov 7-Oct-12 12:32pm View
This one is also seems contains similar stuff
Maxim Kartavenkov 7-Oct-12 12:29pm View
Yes, I also uses the XNA 4.0.
Try this link:

Maxim Kartavenkov 7-Oct-12 10:38am View
Solution is not based on that article - it is describes that article does not handled all aspects which can be with the OLE/COM Controls in .NET and what is missed in .NET for that. If you didn't implement that things from scratch in C# you can't understand the issue.
You had downvote one of my solution without any reason, and even have no reply on comment I posted. I check questions you had answered and found few which are totally wrong I improve them and downvote one with the reason I described.
Maxim Kartavenkov 7-Oct-12 10:22am View
No, I'm not thinking that the "Solution 2" is the solution. I post my solution here with brief overview in there the issue can be and how it can be solved. I downvote your anwser bcs of next: 1. Actually, solution with words "not possible" "not allowed" and similar can't be dedicated as "Solution". 2. You are not reseraching in actual problems which are possible to be in there which are makes your answer unusable. 3. As in question he mentioned that he available to select his control but it can't be created due error information he specified - than article u mean is useless.
Maxim Kartavenkov 7-Oct-12 6:51am View
Actually not the solution, reference to an article without understanding of the issue itself, and the article does not handle all aspects of embedding COM/OLE .NET control in any types of application requirements, just basic approach.

So, I have voted your answer as #1.

Maxim Kartavenkov 7-Oct-12 4:21am View
Paint.NET not offer source code any more - I didn't mention what it's not alive.
And if you are read proper his question - he mention "like in adobe photoshop".
Had you work with such things in photoshop before posting here you questions in comments?
So your comment seems not at right place. Plus making the vote of 1 my solution which can really helps, you just showing that you even not reading proper the question.
Maxim Kartavenkov 6-Oct-12 15:04pm View
WDK require for kernel development and it includes native windows headers and libs (as you also can build user mode applications with WDK) and kernel headers and libs which are only can be used inside kernel (in case if you are creating the driver). You can't mixing usage of kernel and non-kernel routines as most of kernel routines not works in user mode. - That's was meaned in previous comment.

Forgot to mention - your code seems correct.

What an actual issue you have? Is your device enumerated in list you got?

Maxim Kartavenkov 5-Oct-12 1:15am View
That doesn't matter for directshow: there you getting the data from is it real time data or file data or data from somethehere else - so I think that you should read the documentation before making words "Not actual" - and rephase to "I haven't knowledge". For playback PCM data there are a lot of DirectSound Samples in SDK so I think there will be enougth. For decoding mp3 you can check the ffmpeg or lame - they are open source.
Maxim Kartavenkov 12-Sep-12 2:54am View
Maxim Kartavenkov 10-Sep-12 13:30pm View
Check in GraphEdit graphs on both machines. Try with the same decoders. NOTE on XP you can add graph to the ROT and connect to it remotely from GraphEdit
Maxim Kartavenkov 7-Sep-12 2:59am View
Same way, but all images/mpeg4/h264 packets will be in a single stream
Maxim Kartavenkov 6-Sep-12 7:21am View
in your camera specification described and URL which you can use for reading data.
Maxim Kartavenkov 5-Sep-12 11:20am View
You should read the specification of your camera, after enable streaming over protocol you want' to use on camera (most cameras can stream over HTTP) open HTTP stream in your application, perform reading, decoding and preview.
Maxim Kartavenkov 8-Aug-12 23:35pm View
Had you try the Dependency Walker Tool to see what Dll's are missing?

Advertise | Privacy | Mobile
Web01 | 2.8.160730.1 | Last Updated 1 Jan 1900
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid