+#if OPENMPT_API_VERSION_AT_LEAST(0,3,0)
+ error = OPENMPT_ERROR_OK;
+ openmpt->module = openmpt_module_create_from_memory2(buf, size, openmpt_logfunc, s, NULL, NULL, &error, NULL, NULL);
+ av_freep(&buf);
+ if (!openmpt->module) {
+ if (error == OPENMPT_ERROR_OUT_OF_MEMORY)
+ return AVERROR(ENOMEM);
+ else if (error >= OPENMPT_ERROR_GENERAL)
+ return AVERROR_INVALIDDATA;
+ else
+ return AVERROR_UNKNOWN;
+ }
+#else