summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Sebechlebsky <sebechlebskyjan@gmail.com>2017-07-03 23:45:42 +0200
committerJan Sebechlebsky <sebechlebskyjan@gmail.com>2017-07-19 10:08:19 +0200
commit5c9dcd5c484f56fb9fb5d277256439f0becce12c (patch)
treef128d0eb074b543c53e00de3adf91383d1e6128b
parent012620aa1b40b0642e3081871059a1be98411df4 (diff)
libavformat/fifo: Fix initialization of underlying AVFormatContext
Muxers may want to directly access filename in stored in AVFormatContext. For example in case of RTSP, the filename (url) is used by the muxer to extract parameters of the connection. These muxers will fail when used with fifo pseudo-muxer. This commit fixes this issue by passing filename from AVFormatContext of fifo pseudo-muxer to all AVFormatContext(s) of underlying muxers during initialization. Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
-rw-r--r--libavformat/fifo.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libavformat/fifo.c b/libavformat/fifo.c
index 2cbe5c56af..c881f31e94 100644
--- a/libavformat/fifo.c
+++ b/libavformat/fifo.c
@@ -442,13 +442,14 @@ static void *fifo_consumer_thread(void *data)
return NULL;
}
-static int fifo_mux_init(AVFormatContext *avf, AVOutputFormat *oformat)
+static int fifo_mux_init(AVFormatContext *avf, AVOutputFormat *oformat,
+ const char *filename)
{
FifoContext *fifo = avf->priv_data;
AVFormatContext *avf2;
int ret = 0, i;
- ret = avformat_alloc_output_context2(&avf2, oformat, NULL, NULL);
+ ret = avformat_alloc_output_context2(&avf2, oformat, NULL, filename);
if (ret < 0)
return ret;
@@ -505,7 +506,7 @@ static int fifo_init(AVFormatContext *avf)
return ret;
}
- ret = fifo_mux_init(avf, oformat);
+ ret = fifo_mux_init(avf, oformat, avf->filename);
if (ret < 0)
return ret;