diff --git a/src/modules/ffmpeg/producer/av_producer.cpp b/src/modules/ffmpeg/producer/av_producer.cpp index 40115bb716..c0bb1ac938 100644 --- a/src/modules/ffmpeg/producer/av_producer.cpp +++ b/src/modules/ffmpeg/producer/av_producer.cpp @@ -154,7 +154,11 @@ class Decoder packet = std::move(input.front()); input.pop(); } - FF(avcodec_send_packet(ctx.get(), packet.get())); + try { + FF(avcodec_send_packet(ctx.get(), packet.get())); + } catch (...) { + CASPAR_LOG_CURRENT_EXCEPTION(); + } } else if (ret == AVERROR_EOF) { avcodec_flush_buffers(ctx.get()); av_frame->pts = next_pts; @@ -205,9 +209,6 @@ class Decoder } } catch (boost::thread_interrupted&) { // Do nothing... - } catch (...) { - CASPAR_LOG_CURRENT_EXCEPTION(); - eof = true; } }); }