From a2a9fdb630fa6ce6241d0d65efb2b844178d6601 Mon Sep 17 00:00:00 2001 From: Vic Lee Date: Mon, 15 Aug 2011 15:21:56 +0800 Subject: [PATCH] rdpsnd: add device sub-plugin prefix. --- channels/rdpsnd/rdpsnd_main.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/channels/rdpsnd/rdpsnd_main.c b/channels/rdpsnd/rdpsnd_main.c index 61c7ef161..43c89843f 100644 --- a/channels/rdpsnd/rdpsnd_main.c +++ b/channels/rdpsnd/rdpsnd_main.c @@ -426,8 +426,18 @@ static boolean rdpsnd_load_device_plugin(rdpsndPlugin* rdpsnd, const char* name, { FREERDP_RDPSND_DEVICE_ENTRY_POINTS entryPoints; PFREERDP_RDPSND_DEVICE_ENTRY entry; + char* fullname; - entry = (PFREERDP_RDPSND_DEVICE_ENTRY)freerdp_load_plugin(name, RDPSND_DEVICE_EXPORT_FUNC_NAME); + if (strrchr(name, '.') != NULL) + entry = (PFREERDP_RDPSND_DEVICE_ENTRY)freerdp_load_plugin(name, RDPSND_DEVICE_EXPORT_FUNC_NAME); + else + { + fullname = xzalloc(strlen(name) + 8); + strcpy(fullname, "rdpsnd_"); + strcat(fullname, name); + entry = (PFREERDP_RDPSND_DEVICE_ENTRY)freerdp_load_plugin(fullname, RDPSND_DEVICE_EXPORT_FUNC_NAME); + xfree(fullname); + } if (entry == NULL) { return False;