Commit 6a3515a5 authored by Jan Sebechlebsky's avatar Jan Sebechlebsky Committed by Marton Balint

avformat/utils: Add ff_format_output_open() function

Add ff_format_output_open utility function to wrap
io_open callback of AVFormatContext structure.
Signed-off-by: 's avatarJan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
parent e144b86f
......@@ -572,6 +572,16 @@ int ffio_open2_wrapper(struct AVFormatContext *s, AVIOContext **pb, const char *
*/
#define FFERROR_REDO FFERRTAG('R','E','D','O')
/**
* Utility function to open IO stream of output format.
*
* @param s AVFormatContext
* @param url URL or file name to open for writing
* @options optional options which will be passed to io_open callback
* @return >=0 on success, negative AVERROR in case of failure
*/
int ff_format_output_open(AVFormatContext *s, const char *url, AVDictionary **options);
/*
* A wrapper around AVFormatContext.io_close that should be used
* instead of calling the pointer directly.
......
......@@ -5169,6 +5169,16 @@ int av_apply_bitstream_filters(AVCodecContext *codec, AVPacket *pkt,
FF_ENABLE_DEPRECATION_WARNINGS
#endif
int ff_format_output_open(AVFormatContext *s, const char *url, AVDictionary **options)
{
if (!s->oformat)
return AVERROR(EINVAL);
if (!(s->oformat->flags & AVFMT_NOFILE))
return s->io_open(s, &s->pb, url, AVIO_FLAG_WRITE, options);
return 0;
}
void ff_format_io_close(AVFormatContext *s, AVIOContext **pb)
{
if (*pb)
......
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