mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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>
This commit is contained in:
parent
012620aa1b
commit
5c9dcd5c48
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user