mediainfo-d ~main
D language bindings for then libmediainfo library.
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
mediainfo-d
D language bindings for libmediainfo
Upstream reference:
- MediaInfoLib project: MediaArea/MediaInfoLib
- Latest upstream release: 26.01
- D binding entry points live in source/mediainfodll.d and source/mediainfo.d
- Checked-in C/C++ reference copies live in docs/MediaInfo/MediaInfo.h, docs/MediaInfo/MediaInfoList.h, docs/MediaInfo/MediaInfo_Const.h, docs/MediaInfo/MediaInfo_Events.h and docs/MediaInfoDLL/MediaInfoDLL.h
Prerequisites:
- You must have libmediainfo installed on your system
- A working D compiler and Dub.
Usage:
- Add 'mediainfo-d' as a dependancy to your dub project file.
- Please also read the dub documentation for details.
Runtime lifecycle:
MediaInfoinstances register themselves with the singleton loader on construction and release their registration on destruction.- The shared library is no longer unloaded from individual
MediaInfodestructors. - Call
MediaInfoDLL.Cleanup()at program shutdown once noMediaInfoobjects are alive. - If shutdown ordering is uncertain,
MediaInfoDLL.Cleanup(true)forces the unload after you have logged the inconsistency yourself. - The legacy
MediaInfoDLL_Load()andMediaInfoDLL_UnLoad()helpers remain available for explicit reference-counted loading.
Local workflow:
- Use scripts/build.sh for library builds.
- Use scripts/test.sh for unit tests and coverage.
- Use scripts/build-docs.sh for documentation builds; generated docs are written to build/docs.
- Test vectors live in test/mediainfo-vectors.json.
import mediainfodll; /* Import the D binding module into scope */
import mediainfo; /* Import optionally a more OO layer, WIP */
Todos:
- Port the higher level C++ classes to D
Provenance:
- The bundled C/C++ headers are verbatim reference copies of the upstream MediaInfoLib API surface; they are kept in-repo so ABI drift can be reviewed locally.
- Keep the copies and the D bindings in sync so ABI changes stay visible in the diff.
- The exact upstream source snapshot is not encoded in the files themselves; use the upstream Git tags/releases together with these copies to reconstruct the source level when updating the wrapper.
- Current local wrapper coverage is intentionally narrower than upstream 26.01; the missing pieces are tracked in TODO.md.
Annotation: While working on the dub package, I found some older work at jpf91/MediaInfoD. I adapted and ported some of the code and the example to D2 and the latest libphobos for the dub packaging.
- ~main released 17 days ago
- cschlote/mediainfo-d
- bsd-2
- Authors:
- Dependencies:
- silly
- Versions:
-
Show all 14 versions26.4.2 2026-Apr-12 26.4.1 2026-Apr-12 0.1.0 2026-Apr-11 0.0.7 2022-Dec-26 0.0.6 2020-Jul-27 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
177 downloads this month
-
1286 downloads total
-
- Score:
- 1.9
- Short URL:
- mediainfo-d.dub.pm