| 1499 | } |
| 1500 | |
| 1501 | int encode(int64_t frame_nr, encode_session_t &session, safe::mail_raw_t::queue_t<packet_t> &packets, void *channel_data, std::optional<std::chrono::steady_clock::time_point> frame_timestamp) { |
| 1502 | if (auto avcodec_session = dynamic_cast<avcodec_encode_session_t *>(&session)) { |
| 1503 | return encode_avcodec(frame_nr, *avcodec_session, packets, channel_data, frame_timestamp); |
| 1504 | } else if (auto nvenc_session = dynamic_cast<nvenc_encode_session_t *>(&session)) { |
| 1505 | return encode_nvenc(frame_nr, *nvenc_session, packets, channel_data, frame_timestamp); |
| 1506 | } |
| 1507 | |
| 1508 | return -1; |
| 1509 | } |
| 1510 | |
| 1511 | std::unique_ptr<avcodec_encode_session_t> make_avcodec_encode_session( |
| 1512 | platf::display_t *disp, |
no test coverage detected