|
|
|
@ -77,36 +77,6 @@ static IDeckLinkIterator *decklink_create_iterator(AVFormatContext *avctx) |
|
|
|
|
return iter; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#ifdef _WIN32 |
|
|
|
|
static char *dup_wchar_to_utf8(wchar_t *w) |
|
|
|
|
{ |
|
|
|
|
char *s = NULL; |
|
|
|
|
int l = WideCharToMultiByte(CP_UTF8, 0, w, -1, 0, 0, 0, 0); |
|
|
|
|
s = (char *) av_malloc(l); |
|
|
|
|
if (s) |
|
|
|
|
WideCharToMultiByte(CP_UTF8, 0, w, -1, s, l, 0, 0); |
|
|
|
|
return s; |
|
|
|
|
} |
|
|
|
|
#define DECKLINK_STR OLECHAR * |
|
|
|
|
#define DECKLINK_STRDUP dup_wchar_to_utf8 |
|
|
|
|
#define DECKLINK_FREE(s) SysFreeString(s) |
|
|
|
|
#elif defined(__APPLE__) |
|
|
|
|
static char *dup_cfstring_to_utf8(CFStringRef w) |
|
|
|
|
{ |
|
|
|
|
char s[256]; |
|
|
|
|
CFStringGetCString(w, s, 255, kCFStringEncodingUTF8); |
|
|
|
|
return av_strdup(s); |
|
|
|
|
} |
|
|
|
|
#define DECKLINK_STR const __CFString * |
|
|
|
|
#define DECKLINK_STRDUP dup_cfstring_to_utf8 |
|
|
|
|
#define DECKLINK_FREE(s) CFRelease(s) |
|
|
|
|
#else |
|
|
|
|
#define DECKLINK_STR const char * |
|
|
|
|
#define DECKLINK_STRDUP av_strdup |
|
|
|
|
/* free() is needed for a string returned by the DeckLink SDL. */ |
|
|
|
|
#define DECKLINK_FREE(s) free((void *) s) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
HRESULT ff_decklink_get_display_name(IDeckLink *This, const char **displayName) |
|
|
|
|
{ |
|
|
|
|
DECKLINK_STR tmpDisplayName; |
|
|
|
|