OSDN Git Service

avdevice/decklink: fix mingw portability
authorMarton Balint <cus@passwd.hu>
Sun, 26 Jun 2016 23:11:50 +0000 (01:11 +0200)
committerMarton Balint <cus@passwd.hu>
Mon, 27 Jun 2016 00:12:07 +0000 (02:12 +0200)
Fixes ticket #5669.

Signed-off-by: Marton Balint <cus@passwd.hu>
libavdevice/decklink_common.cpp
libavdevice/decklink_common.h

index 3625673..bd5ab91 100644 (file)
@@ -70,6 +70,7 @@ static char *dup_wchar_to_utf8(wchar_t *w)
 #define DECKLINK_STR    OLECHAR *
 #define DECKLINK_STRDUP dup_wchar_to_utf8
 #define DECKLINK_FREE(s) SysFreeString(s)
+#define DECKLINK_BOOL BOOL
 #elif defined(__APPLE__)
 static char *dup_cfstring_to_utf8(CFStringRef w)
 {
@@ -80,11 +81,13 @@ static char *dup_cfstring_to_utf8(CFStringRef w)
 #define DECKLINK_STR    const __CFString *
 #define DECKLINK_STRDUP dup_cfstring_to_utf8
 #define DECKLINK_FREE(s) free((void *) s)
+#define DECKLINK_BOOL bool
 #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)
+#define DECKLINK_BOOL bool
 #endif
 
 HRESULT ff_decklink_get_display_name(IDeckLink *This, const char **displayName)
@@ -103,7 +106,7 @@ static int decklink_select_input(AVFormatContext *avctx, BMDDeckLinkConfiguratio
     struct decklink_cctx *cctx = (struct decklink_cctx *) avctx->priv_data;
     struct decklink_ctx *ctx = (struct decklink_ctx *)cctx->ctx;
     BMDDeckLinkAttributeID attr_id = (cfg_id == bmdDeckLinkConfigAudioInputConnection) ? BMDDeckLinkAudioInputConnections : BMDDeckLinkVideoInputConnections;
-    int64_t bmd_input              = (cfg_id == bmdDeckLinkConfigAudioInputConnection) ? ctx->audio_input : ctx->video_input;
+    int64_t bmd_input              = (cfg_id == bmdDeckLinkConfigAudioInputConnection) ? (int64_t)ctx->audio_input : (int64_t)ctx->video_input;
     const char *type_name          = (cfg_id == bmdDeckLinkConfigAudioInputConnection) ? "audio" : "video";
     int64_t supported_connections = 0;
     HRESULT res;
@@ -141,7 +144,7 @@ int ff_decklink_set_format(AVFormatContext *avctx,
     HRESULT res;
 
     if (ctx->duplex_mode) {
-        bool duplex_supported = false;
+        DECKLINK_BOOL duplex_supported = false;
 
         if (ctx->attr->GetFlag(BMDDeckLinkSupportsDuplexModeConfiguration, &duplex_supported) != S_OK)
             duplex_supported = false;
index a4ac303..d2d0ab2 100644 (file)
@@ -107,7 +107,7 @@ typedef uint32_t buffercount_type;
 #endif
 
 static const BMDAudioConnection decklink_audio_connection_map[] = {
-    0,
+    (BMDAudioConnection)0,
     bmdAudioConnectionEmbedded,
     bmdAudioConnectionAESEBU,
     bmdAudioConnectionAnalog,
@@ -117,7 +117,7 @@ static const BMDAudioConnection decklink_audio_connection_map[] = {
 };
 
 static const BMDVideoConnection decklink_video_connection_map[] = {
-    0,
+    (BMDVideoConnection)0,
     bmdVideoConnectionSDI,
     bmdVideoConnectionHDMI,
     bmdVideoConnectionOpticalSDI,