if (!global_flags.x264_video_to_http &&
!global_flags.av1_video_to_http) {
http_mux->add_packet(pkt, task.pts + global_delay(), task.dts + global_delay());
+ if (srt_mux != nullptr) {
+ srt_mux->add_packet(pkt, task.pts + global_delay(), task.dts + global_delay());
+ }
}
}
}
assert(display_frame_num > 0);
PendingFrame frame = move(pending_frame.second);
int64_t dts = last_dts + (TIMEBASE / TYPICAL_FPS);
- printf("Finalizing encode: Encoding leftover frame %d as P-frame instead of B-frame.\n", display_frame_num);
encode_frame(frame, encoding_frame_num++, display_frame_num, gop_start_display_frame_num, FRAME_P, frame.pts, dts, frame.duration, frame.ycbcr_coefficients);
last_dts = dts;
}
impl->set_http_mux(mux);
}
+void QuickSyncEncoder::set_srt_mux(Mux *mux)
+{
+ impl->set_srt_mux(mux);
+}
+
int64_t QuickSyncEncoder::global_delay() const {
return impl->global_delay();
}