@ -84,7 +84,11 @@ void ffio_init_context(FFIOContext *ctx,
int write_flag ,
int write_flag ,
void * opaque ,
void * opaque ,
int ( * read_packet ) ( void * opaque , uint8_t * buf , int buf_size ) ,
int ( * read_packet ) ( void * opaque , uint8_t * buf , int buf_size ) ,
# if FF_API_AVIO_WRITE_NONCONST
int ( * write_packet ) ( void * opaque , uint8_t * buf , int buf_size ) ,
int ( * write_packet ) ( void * opaque , uint8_t * buf , int buf_size ) ,
# else
int ( * write_packet ) ( void * opaque , const uint8_t * buf , int buf_size ) ,
# endif
int64_t ( * seek ) ( void * opaque , int64_t offset , int whence ) )
int64_t ( * seek ) ( void * opaque , int64_t offset , int whence ) )
{
{
AVIOContext * const s = & ctx - > pub ;
AVIOContext * const s = & ctx - > pub ;
@ -143,7 +147,11 @@ AVIOContext *avio_alloc_context(
int write_flag ,
int write_flag ,
void * opaque ,
void * opaque ,
int ( * read_packet ) ( void * opaque , uint8_t * buf , int buf_size ) ,
int ( * read_packet ) ( void * opaque , uint8_t * buf , int buf_size ) ,
# if FF_API_AVIO_WRITE_NONCONST
int ( * write_packet ) ( void * opaque , uint8_t * buf , int buf_size ) ,
int ( * write_packet ) ( void * opaque , uint8_t * buf , int buf_size ) ,
# else
int ( * write_packet ) ( void * opaque , const uint8_t * buf , int buf_size ) ,
# endif
int64_t ( * seek ) ( void * opaque , int64_t offset , int whence ) )
int64_t ( * seek ) ( void * opaque , int64_t offset , int whence ) )
{
{
FFIOContext * s = av_malloc ( sizeof ( * s ) ) ;
FFIOContext * s = av_malloc ( sizeof ( * s ) ) ;
@ -165,12 +173,20 @@ static void writeout(AVIOContext *s, const uint8_t *data, int len)
if ( ! s - > error ) {
if ( ! s - > error ) {
int ret = 0 ;
int ret = 0 ;
if ( s - > write_data_type )
if ( s - > write_data_type )
# if FF_API_AVIO_WRITE_NONCONST
ret = s - > write_data_type ( s - > opaque , ( uint8_t * ) data ,
ret = s - > write_data_type ( s - > opaque , ( uint8_t * ) data ,
# else
ret = s - > write_data_type ( s - > opaque , data ,
# endif
len ,
len ,
ctx - > current_type ,
ctx - > current_type ,
ctx - > last_time ) ;
ctx - > last_time ) ;
else if ( s - > write_packet )
else if ( s - > write_packet )
# if FF_API_AVIO_WRITE_NONCONST
ret = s - > write_packet ( s - > opaque , ( uint8_t * ) data , len ) ;
ret = s - > write_packet ( s - > opaque , ( uint8_t * ) data , len ) ;
# else
ret = s - > write_packet ( s - > opaque , data , len ) ;
# endif
if ( ret < 0 ) {
if ( ret < 0 ) {
s - > error = ret ;
s - > error = ret ;
} else {
} else {
@ -1396,7 +1412,11 @@ typedef struct DynBuffer {
uint8_t io_buffer [ 1 ] ;
uint8_t io_buffer [ 1 ] ;
} DynBuffer ;
} DynBuffer ;
# if FF_API_AVIO_WRITE_NONCONST
static int dyn_buf_write ( void * opaque , uint8_t * buf , int buf_size )
static int dyn_buf_write ( void * opaque , uint8_t * buf , int buf_size )
# else
static int dyn_buf_write ( void * opaque , const uint8_t * buf , int buf_size )
# endif
{
{
DynBuffer * d = opaque ;
DynBuffer * d = opaque ;
unsigned new_size ;
unsigned new_size ;
@ -1428,7 +1448,11 @@ static int dyn_buf_write(void *opaque, uint8_t *buf, int buf_size)
return buf_size ;
return buf_size ;
}
}
# if FF_API_AVIO_WRITE_NONCONST
static int dyn_packet_buf_write ( void * opaque , uint8_t * buf , int buf_size )
static int dyn_packet_buf_write ( void * opaque , uint8_t * buf , int buf_size )
# else
static int dyn_packet_buf_write ( void * opaque , const uint8_t * buf , int buf_size )
# endif
{
{
unsigned char buf1 [ 4 ] ;
unsigned char buf1 [ 4 ] ;
int ret ;
int ret ;
@ -1565,7 +1589,11 @@ void ffio_free_dyn_buf(AVIOContext **s)
avio_context_free ( s ) ;
avio_context_free ( s ) ;
}
}
# if FF_API_AVIO_WRITE_NONCONST
static int null_buf_write ( void * opaque , uint8_t * buf , int buf_size )
static int null_buf_write ( void * opaque , uint8_t * buf , int buf_size )
# else
static int null_buf_write ( void * opaque , const uint8_t * buf , int buf_size )
# endif
{
{
DynBuffer * d = opaque ;
DynBuffer * d = opaque ;