summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2008-09-16 17:02:48 +0000
committerNanang Izzuddin <nanang@teluu.com>2008-09-16 17:02:48 +0000
commite60d2ab5486762ce97e5673e0780711a38a75fca (patch)
treeb567655d35b0d66a7374b437a1131a589c1b5c03 /pjmedia
parentc89b39146e1323a40366c1da6f26e5eeb7960cde (diff)
Ticket #625: Fixed unicode build issues on Windows platforms (thanks David Parker for the patch).
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2286 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia/dsound.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/pjmedia/src/pjmedia/dsound.c b/pjmedia/src/pjmedia/dsound.c
index 97a28726..56dd97af 100644
--- a/pjmedia/src/pjmedia/dsound.c
+++ b/pjmedia/src/pjmedia/dsound.c
@@ -596,8 +596,8 @@ on_error:
/* DirectSound enum device callback */
-static BOOL CALLBACK DSEnumCallback( LPGUID lpGuid, LPCSTR lpcstrDescription,
- LPCSTR lpcstrModule, LPVOID lpContext)
+static BOOL CALLBACK DSEnumCallback( LPGUID lpGuid, LPCTSTR lpcstrDescription,
+ LPCTSTR lpcstrModule, LPVOID lpContext)
{
unsigned index, max = sizeof(dev_info[index].info.name);
pj_bool_t is_capture_device = (lpContext != NULL);
@@ -626,7 +626,12 @@ static BOOL CALLBACK DSEnumCallback( LPGUID lpGuid, LPCSTR lpcstrDescription,
return FALSE;
}
+#ifdef UNICODE
+ WideCharToMultiByte(CP_ACP, 0, lpcstrDescription, wcslen(lpcstrDescription), dev_info[index].info.name, max, NULL, NULL);
+#else
strncpy(dev_info[index].info.name, lpcstrDescription, max);
+#endif
+
dev_info[index].info.name[max-1] = '\0';
if (lpGuid == NULL) {
dev_info[index].lpGuid = NULL;