Other projects like Rhythmbox rely on GStreamer and enjoy native charset fallback by GST_TAG_ENCODING.
It seems to be affordable patching with g_getenv() and some of UTF-8 conversion facilities. But,
- I can't make decision where those lines of patch inserted. From inside of C function metadata_get_title() to the boundary between C# Metadata class and interface layer.
- I don't know how to code C#. Classes and methods of Mono is big challenge to me.
In the long run, such builtin utility shall be replaced by GStreamer thing.