Home > Back-end >  How to let any decoder directshow don't use the system
How to let any decoder directshow don't use the system

Time:10-09

How to let any decoder directshow don't use the system? System decoder is often called decoder is not compatible with yourself?
Like a thunderbolt see APlayer controls without using any system decoder that did it? Or rewrite the DirectShow Grahp???

CodePudding user response:

Don't understand! Support a!

CodePudding user response:

"Like a thunderbolt see APlayer controls, there is no use any system decoder"
According to what it does not know you

CodePudding user response:

Rumors have long baidu mobile phone operating system (official not qualitative) "easy platform" official website has been launched, will be released in the baidu world 2011

CodePudding user response:

Directshow filter is XXX. Ax, is actually an active x component, you can use the LoadLibrary read it I have a piece of code that you can refer to
Development of a premise is, you still need to register your decoder, so it is easy to get the codec class id and then take the decoder. Ax, runtime use after loading, the following code FitlerGraph. AddFilter into, next reoccupy FilterGraph. RenderFile or Render (Pin), FilterGraph would you have preferred to join the Filter, or, you own all fix the Connect

The function TFilterProp. CreateFilterFromFile: IBaseFilter;
Var
SaveCurrDir: string;
DllGetClassObject: TDllGetClassObject;
ClassFactory: IClassFactory;
The begin
If Length (FFileName)=0 then the Exit;
If IsEqualGUID (FClassGUID GUID_NULL) then the Exit;

SaveCurrDir:=GetCurrentDir;
Try
SetCurrentDir (ExtractFilePath (FFileName));

FHLib:=LoadLibrary (PChar (FFileName));
If FHLib=0 then the Exit;

DllGetClassObject:=GetProcAddress call (FHLib, 'DllGetClassObject');
If not Assigned (DllGetClassObject) then
The begin
FreeLibrary (FHlib);
FHlib:=0;
The Exit;
end;

DllGetClassObject (FClassGUID IClassFactory, ClassFactory);
If not Assigned (ClassFactory) then
The begin
FreeLibrary (FHlib);
FHlib:=0;
The Exit;
end;

ClassFactory. CreateInstance (nil, IBaseFilter, Result);
If not Assigned (Result) then
The begin
FreeLibrary (FHlib);
FHlib:=0;
end;
The finally
SetCurrentDir (SaveCurrDir);
end;
end;

The above code to http://sourceforge.net/projects/ddshow/? Source=directory

  • Related