card->last_timecode = timecode;
PBOFrameAllocator::Userdata *userdata = (PBOFrameAllocator::Userdata *)video_frame.userdata;
- if (card->type == CardType::FFMPEG_INPUT) {
+ if (card->type == CardType::FFMPEG_INPUT && userdata != nullptr) {
FFmpegCapture *ffmpeg_capture = static_cast<FFmpegCapture *>(card->capture.get());
userdata->has_last_subtitle = ffmpeg_capture->get_has_last_subtitle();
userdata->last_subtitle = ffmpeg_capture->get_last_subtitle();
}
// Only bother doing MJPEG encoding if there are any connected clients
- // that want the stream.
+ // that want the stream. FIXME: We should also stop memcpy-ing if there are none!
if (httpd.get_num_connected_multicam_clients() > 0) {
auto stream_it = global_flags.card_to_mjpeg_stream_export.find(card_index);
if (stream_it != global_flags.card_to_mjpeg_stream_export.end()) {