Skip to content
Snippets Groups Projects
Commit a618e31c authored by François Cartegnie's avatar François Cartegnie :fingers_crossed: Committed by Steve Lhomme
Browse files

mux: avformat: fix avio callbacks signature with ffmpeg 6.1

API signature changes introduced depending on a positive define,
then removed later, making it break prior or post removal...

(adapted from commit 503c04fa)
parent e8cc58ca
No related branches found
No related tags found
1 merge request!6168[3.0] mux: avformat: fix avio callbacks signature with ffmpeg 6.1
Pipeline #523928 passed with stage
in 23 minutes and 2 seconds
......@@ -77,6 +77,9 @@
#ifndef FF_MAX_B_FRAMES
# define FF_MAX_B_FRAMES 16 // FIXME: remove this
#endif
#ifndef FF_API_AVIO_WRITE_NONCONST // removed in ffmpeg 7
# define FF_API_AVIO_WRITE_NONCONST (LIBAVFORMAT_VERSION_MAJOR < 61)
#endif
#endif /* HAVE_LIBAVCODEC_AVCODEC_H */
......
......@@ -74,11 +74,20 @@ static int AddStream( sout_mux_t *, sout_input_t * );
static void DelStream( sout_mux_t *, sout_input_t * );
static int Mux ( sout_mux_t * );
#if FF_API_AVIO_WRITE_NONCONST
static int IOWrite( void *opaque, uint8_t *buf, int buf_size );
#else
static int IOWrite( void *opaque, const uint8_t *buf, int buf_size );
#endif
static int64_t IOSeek( void *opaque, int64_t offset, int whence );
#if LIBAVFORMAT_VERSION_CHECK( 57, 7, 0, 40, 100 )
# if FF_API_AVIO_WRITE_NONCONST
static int IOWriteTyped(void *opaque, uint8_t *buf, int buf_size,
enum AVIODataMarkerType type, int64_t time);
# else
int IOWriteTyped(void *opaque, const uint8_t *buf, int buf_size,
enum AVIODataMarkerType type, int64_t time);
# endif
#endif
/*****************************************************************************
......@@ -411,8 +420,13 @@ static int MuxBlock( sout_mux_t *p_mux, sout_input_t *p_input )
}
#if LIBAVFORMAT_VERSION_CHECK( 57, 7, 0, 40, 100 )
# if FF_API_AVIO_WRITE_NONCONST
int IOWriteTyped(void *opaque, uint8_t *buf, int buf_size,
enum AVIODataMarkerType type, int64_t time)
# else
int IOWriteTyped(void *opaque, const uint8_t *buf, int buf_size,
enum AVIODataMarkerType type, int64_t time)
# endif
{
VLC_UNUSED(time);
......@@ -512,7 +526,11 @@ static int Control( sout_mux_t *p_mux, int i_query, va_list args )
/*****************************************************************************
* I/O wrappers for libavformat
*****************************************************************************/
#if FF_API_AVIO_WRITE_NONCONST
static int IOWrite( void *opaque, uint8_t *buf, int buf_size )
#else
static int IOWrite( void *opaque, const uint8_t *buf, int buf_size )
#endif
{
sout_mux_t *p_mux = opaque;
sout_mux_sys_t *p_sys = p_mux->p_sys;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment