mirror of
https://github.com/librempeg/librempeg
synced 2024-11-23 11:39:47 +00:00
avdevice/decklink_common: Move DECKLINK_* string functions into header
This allows other decklink source access to these cross-platform convenience functions. Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
ba8a1d1618
commit
fb480a1f1e
@ -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;
|
||||
|
@ -34,6 +34,36 @@
|
||||
#define DECKLINK_BOOL bool
|
||||
#endif
|
||||
|
||||
#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
|
||||
|
||||
class decklink_output_callback;
|
||||
class decklink_input_callback;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user