Commit 5c9dcd5c authored by Jan Sebechlebsky's avatar Jan Sebechlebsky

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: 's avatarJan Sebechlebsky <sebechlebskyjan@gmail.com>
parent 012620aa
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment