Преглед изворни кода

mac-videtoolbox: Use correct size for system representation CFStrings

PatTheMav пре 3 година
родитељ
комит
097e9ccecf
1 измењених фајлова са 5 додато и 4 уклоњено
  1. 5 4
      plugins/mac-videotoolbox/encoder.c

+ 5 - 4
plugins/mac-videotoolbox/encoder.c

@@ -1383,10 +1383,11 @@ bool obs_module_load(void)
 		CFDictionaryRef encoder_dict =
 			CFArrayGetValueAtIndex(encoder_list, i);
 
-#define VT_DICTSTR(key, name)                                             \
-	CFStringRef name##_ref = CFDictionaryGetValue(encoder_dict, key); \
-	CFIndex name##_len = CFStringGetLength(name##_ref);               \
-	char *name = bzalloc(name##_len + 1);                             \
+#define VT_DICTSTR(key, name)                                                 \
+	CFStringRef name##_ref = CFDictionaryGetValue(encoder_dict, key);     \
+	CFIndex name##_len =                                                  \
+		CFStringGetMaximumSizeOfFileSystemRepresentation(name##_ref); \
+	char *name = bzalloc(name##_len + 1);                                 \
 	CFStringGetFileSystemRepresentation(name##_ref, name, name##_len);
 
 		CMVideoCodecType codec_type = 0;