[vlc-commits] avformat mux: convert to new avio API
Rafaël Carré
git at videolan.org
Sun Jan 29 06:32:06 CET 2012
vlc | branch: master | Rafaël Carré <funman at videolan.org> | Sun Jan 29 00:26:34 2012 -0500| [0011b7043c5c9115bf130068265e90142277d2f6] | committer: Rafaël Carré
avformat mux: convert to new avio API
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0011b7043c5c9115bf130068265e90142277d2f6
---
modules/demux/avformat/mux.c | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/modules/demux/avformat/mux.c b/modules/demux/avformat/mux.c
index 0175430..f8442c7 100644
--- a/modules/demux/avformat/mux.c
+++ b/modules/demux/avformat/mux.c
@@ -55,7 +55,11 @@ static const char *const ppsz_mux_options[] = {
*****************************************************************************/
struct sout_mux_sys_t
{
+#if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(105<<8)+0)
+ AVIOContext *io;
+#else
ByteIOContext io;
+#endif
int io_buffer_size;
uint8_t *io_buffer;
@@ -86,7 +90,6 @@ int OpenMux( vlc_object_t *p_this )
AVOutputFormat *file_oformat;
sout_mux_t *p_mux = (sout_mux_t*)p_this;
sout_mux_sys_t *p_sys;
- AVFormatParameters params, *ap = ¶ms;
char *psz_mux;
/* Should we call it only once ? */
@@ -134,9 +137,18 @@ int OpenMux( vlc_object_t *p_this )
/* Create I/O wrapper */
p_sys->io_buffer_size = 32768; /* FIXME */
p_sys->io_buffer = malloc( p_sys->io_buffer_size );
- init_put_byte( &p_sys->io, p_sys->io_buffer, p_sys->io_buffer_size,
- 1, p_mux, NULL, IOWrite, IOSeek );
+#if (LIBAVFORMAT_VERSION_INT >= ((52<<16)+(105<<8)+0))
+ p_sys->io = avio_alloc_context(
+#else
+ init_put_byte( &p_sys->io,
+#endif
+ p_sys->io_buffer, p_sys->io_buffer_size,
+ 1, p_mux, NULL, IOWrite, IOSeek );
+
+
+#if (LIBAVFORMAT_VERSION_INT < ((52<<16)+(105<<8)+0))
+ AVFormatParameters params, *ap = ¶ms;
memset( ap, 0, sizeof(*ap) );
if( av_set_parameters( p_sys->oc, ap ) < 0 )
{
@@ -146,8 +158,13 @@ int OpenMux( vlc_object_t *p_this )
free( p_sys );
return VLC_EGENERIC;
}
+#endif
+#if (LIBAVFORMAT_VERSION_INT >= ((52<<16)+(105<<8)+0))
+ p_sys->oc->pb = p_sys->io;
+#else
p_sys->oc->pb = &p_sys->io;
+#endif
p_sys->oc->nb_streams = 0;
p_sys->b_write_header = true;
More information about the vlc-commits
mailing list