char thread_name[16];
snprintf(thread_name, sizeof(thread_name), "DeckLink_C_%d", card_index);
pthread_setname_np(pthread_self(), thread_name);
+
+ sched_param param;
+ memset(¶m, 0, sizeof(param));
+ param.sched_priority = 1;
+ if (sched_setscheduler(0, SCHED_RR, ¶m) == -1) {
+ printf("couldn't set realtime priority for DeckLink thread: %s\n", strerror(errno));
+ }
+
if (has_dequeue_callbacks) {
dequeue_init_callback();
}
if (video_frame) {
video_format.has_signal = !(video_frame->GetFlags() & bmdFrameHasNoInputSource);
- int width = video_frame->GetWidth();
- int height = video_frame->GetHeight();
+ const int width = video_frame->GetWidth();
+ const int height = video_frame->GetHeight();
const int stride = video_frame->GetRowBytes();
const BMDPixelFormat format = video_frame->GetPixelFormat();
assert(format == pixel_format_to_bmd(current_pixel_format));