- // There are situations where we could possibly want to
- // include FFmpeg inputs (CEF inputs are unlikely),
- // but they're not necessarily in 4:2:2 Y'CbCr, so it would
- // require more functionality the the JPEG encoder.
- if (card_index < num_cards) {
- mjpeg_encoder->upload_frame(pts_int, card_index, new_frame->frame, new_frame->video_format, new_frame->y_offset, new_frame->cbcr_offset);
+ // Only bother doing MJPEG encoding if there are any connected clients
+ // 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()) {
+ mjpeg_encoder->upload_frame(pts_int, stream_it->second, new_frame->frame, new_frame->video_format, new_frame->y_offset, new_frame->cbcr_offset);
+ }