From 848f52c69ea308a325ff89f52b3b656880fd50f6 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Sun, 21 Jan 2024 04:19:34 +0200 Subject: [PATCH] issue #253: m2m polling limit --- src/ustreamer/m2m.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/ustreamer/m2m.c b/src/ustreamer/m2m.c index 47b054a..a1ee323 100644 --- a/src/ustreamer/m2m.c +++ b/src/ustreamer/m2m.c @@ -441,7 +441,14 @@ static int _m2m_encoder_compress_raw(us_m2m_encoder_s *enc, const us_frame_s *sr // Для не-DMA отправка буфера по факту являтся освобождением этого буфера bool input_released = !_RUN(dma); + const long double deadline_ts = us_get_now_monotonic() + 1; + while (true) { + if (us_get_now_monotonic() > deadline_ts) { + _E_LOG_ERROR("The encoder wait is too long"); + goto error; + } + struct pollfd enc_poll = {_RUN(fd), POLLIN, 0}; _E_LOG_DEBUG("Polling encoder ...");