Беларуская Bulgarian Català Deutsch English Spanish Farsi Français Hrvatski Magyar Italiano 日本語 Georgian Korean Lithuanian Netherlands Polish Portuguese Portuguese (Brazil) Русский Shqip Sverige Thailandish Ukrainian Chinese (Simplified) Chinese (Traditional) (your language?)

Software Development Kit, Read this first

Supported languages

Static library (.lib)

MediaInfo is written in standart C++.
Some binaries are released (take a look to the download page):
  • MSVC : Microsoft Visual C++ (static Multitreaded linked to C library)
  • BCB : Borland C++ Builder
For others compilers, you must build from sources.

Dynamic library (.Dll)

DLL is available as a dynamic link from other languages (or C++ compilers users who wants to use a DLL).
Any language compatible with standart DLLs are compatible with MediaInfo DLL.
Some examples are included in the DLL release (take a look to the download page):
  • MSVC : Microsoft Visual C++ 9 (aka 2005)
  • MSCS : Microsoft C# 9 (aka 2005)
  • MSJS : Microsoft J# 9 (aka 2005)
  • MSVB : Microsoft Visual Basic 9 (aka 2005)
  • BCB : Borland C++ Builder 6
  • Delphi : Borland Delphi 7
Note: for Visual Studio 7 (aka 2002) or 8 (aka 2003), you can edit .sln and .xxproj to be compatible.
- .sln : "...Format Version 9.00" to 7.00
- .xxproj : "Version="8.00" or "Version="7.10" to 7.00
This is not always tested, but you should easily adapt them to your compiler)

There are contributions (in the "Contrib" directory), with no support:
  • MSVB5 : Microsoft Visual Basic 5 and 6 example, from Ingo Brueckl
  • ActiveX : ActiveX wrapper for MediaInfoDLL, with Internet Explorer and VB Script examples, from Ingo Brueckl

Don't forget to put MediaInfo.dll and Example.ogg in your executable folder.

Versioning method

  • if one of 2 first numbers change, there is no guaranties that the DLL is compatible with old one. You should verify with MediaInfo_Option("Version") if you are compatible
  • if one of 2 last numbers change, there is a guaranty that the DLL is compatible with old one.
So you should test the version of MediaInfo, and if one of the 2 first numbers change, disable it.

Conventions

Code is shown with C++ view:
ClassName::MethodName (Variables)

If you use the "C" interface (for example, if you use the DLL), you should map with:
ClassName_MethodName (Handle, Variables)
"Handle" is a unique identifier of the object you use (created by Handle=ClassName_New())
Because of the lack of namespaces in C language, you must change constants too:
XXX --> MediaInfo_XXX

If you use the "C++" interface, don't forget that all classes and typedefs are in the MediaInfoLib namespace:
use namespace MediaInfoLib;

Note : language specific formating (";" at the end of line, "L" for Unicode strings...) are not in this explaination.
Note : some languages permit more cutomization of constants, take a look in the header file to know exact names.