From 6ef350c16bf9a375a1ea3e531019ea922ae5a1e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st>
Date: Sun, 6 Nov 2011 22:55:40 +0200
Subject: [PATCH] avformat: Pass the interrupt callback on to chained
 muxers/demuxers

There are a few more cases of chained demuxers, but they
only use custom IO which don't do any blocking IO and thus
don't need the callback.
---
 libavformat/rtpenc_chain.c | 2 ++
 libavformat/sapdec.c       | 1 +
 2 files changed, 3 insertions(+)

diff --git a/libavformat/rtpenc_chain.c b/libavformat/rtpenc_chain.c
index f0e4dae8ebc..b9d1690008d 100644
--- a/libavformat/rtpenc_chain.c
+++ b/libavformat/rtpenc_chain.c
@@ -47,6 +47,8 @@ AVFormatContext *ff_rtp_chain_mux_open(AVFormatContext *s, AVStream *st,
         av_free(rtpctx);
         return NULL;
     }
+    /* Pass the interrupt callback on */
+    rtpctx->interrupt_callback = s->interrupt_callback;
     /* Copy the max delay setting; the rtp muxer reads this. */
     rtpctx->max_delay = s->max_delay;
     /* Copy other stream parameters. */
diff --git a/libavformat/sapdec.c b/libavformat/sapdec.c
index 21f893554f3..7b950cd617d 100644
--- a/libavformat/sapdec.c
+++ b/libavformat/sapdec.c
@@ -157,6 +157,7 @@ static int sap_read_header(AVFormatContext *s,
     }
     sap->sdp_ctx->max_delay = s->max_delay;
     sap->sdp_ctx->pb        = &sap->sdp_pb;
+    sap->sdp_ctx->interrupt_callback = s->interrupt_callback;
     ret = avformat_open_input(&sap->sdp_ctx, "temp.sdp", infmt, NULL);
     if (ret < 0)
         goto fail;
-- 
GitLab