#define GET_SYM(symbol, defaultVal) \
do{ \
- CFStringRef cfstr = *(CFStringRef*)dlsym(RTLD_DEFAULT, #symbol); \
- if(!cfstr) \
+ CFStringRef* handle = (CFStringRef*)dlsym(RTLD_DEFAULT, #symbol); \
+ if(!handle) \
compat_keys.symbol = CFSTR(defaultVal); \
else \
- compat_keys.symbol = cfstr; \
+ compat_keys.symbol = *handle; \
}while(0)
static pthread_once_t once_ctrl = PTHREAD_ONCE_INIT;
kCFAllocatorDefault,
&has_b_frames_cfbool);
- if (!status) {
+ if (!status && has_b_frames_cfbool) {
//Some devices don't output B-frames for main profile, even if requested.
vtctx->has_b_frames = CFBooleanGetValue(has_b_frames_cfbool);
CFRelease(has_b_frames_cfbool);
remaining_dst_size--;
wrote_bytes = write_sei(sei,
- SEI_TYPE_USER_DATA_REGISTERED,
+ H264_SEI_TYPE_USER_DATA_REGISTERED,
dst_data,
remaining_dst_size);
return status;
wrote_bytes = write_sei(sei,
- SEI_TYPE_USER_DATA_REGISTERED,
+ H264_SEI_TYPE_USER_DATA_REGISTERED,
new_sei,
remaining_dst_size - old_sei_length);
if (wrote_bytes < 0)
if (sei) {
size_t msg_size = get_sei_msg_bytes(sei,
- SEI_TYPE_USER_DATA_REGISTERED);
+ H264_SEI_TYPE_USER_DATA_REGISTERED);
sei_nalu_size = sizeof(start_code) + 1 + msg_size + 1;
}