This is very likely to break .*64 platforms.
/* pf_read/pf_block is used to read data.
* XXX A access should set one and only one of them */
- int (*pf_read) ( access_t *, uint8_t *, int ); /* Return -1 if no data yet, 0 if no more data, else real data read */
+ ssize_t (*pf_read) ( access_t *, uint8_t *, size_t ); /* Return -1 if no data yet, 0 if no more data, else real data read */
block_t *(*pf_block)( access_t * ); /* return a block of data in his 'natural' size, NULL if not yet data or eof */
/* Called for each seek.
char *psz_path;
sout_access_out_sys_t *p_sys;
int (*pf_seek)( sout_access_out_t *, off_t );
- int (*pf_read)( sout_access_out_t *, block_t * );
- int (*pf_write)( sout_access_out_t *, block_t * );
+ ssize_t (*pf_read)( sout_access_out_t *, block_t * );
+ ssize_t (*pf_write)( sout_access_out_t *, block_t * );
int (*pf_control)( sout_access_out_t *, int, va_list);
config_chain_t *p_cfg;
VLC_EXPORT( sout_access_out_t *,sout_AccessOutNew, ( sout_instance_t *, const char *psz_access, const char *psz_name ) );
VLC_EXPORT( void, sout_AccessOutDelete, ( sout_access_out_t * ) );
VLC_EXPORT( int, sout_AccessOutSeek, ( sout_access_out_t *, off_t ) );
-VLC_EXPORT( int, sout_AccessOutRead, ( sout_access_out_t *, block_t * ) );
-VLC_EXPORT( int, sout_AccessOutWrite, ( sout_access_out_t *, block_t * ) );
+VLC_EXPORT( ssize_t, sout_AccessOutRead, ( sout_access_out_t *, block_t * ) );
+VLC_EXPORT( ssize_t, sout_AccessOutWrite, ( sout_access_out_t *, block_t * ) );
VLC_EXPORT( int, sout_AccessOutControl,( sout_access_out_t *, int, va_list ) );
/** Muxer structure */
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int CDDARead( access_t *, uint8_t *, int );
+static ssize_t CDDARead( access_t *, uint8_t *, size_t );
static block_t *CDDAReadBlocks( access_t * p_access );
static int CDDASeek( access_t * p_access, int64_t i_pos );
static int CDDAControl( access_t *p_access, int i_query,
typedef struct stat_list_t stat_list_t;
-static int Read( access_t *, uint8_t *, int );
-static int ReadNull( access_t *, uint8_t *, int );
+static ssize_t Read( access_t *, uint8_t *, size_t );
+static ssize_t ReadNull( access_t *, uint8_t *, size_t );
static int Control( access_t *, int, va_list );
static int Demux( demux_t *p_demux );
/*****************************************************************************
* ReadNull: read the directory
*****************************************************************************/
-static int ReadNull( access_t *p_access, uint8_t *p_buffer, int i_len)
+static ssize_t ReadNull( access_t *p_access, uint8_t *p_buffer, size_t i_len)
{
/* Return fake data */
memset( p_buffer, 0, i_len );
/*****************************************************************************
* Read: read the directory
*****************************************************************************/
-static int Read( access_t *p_access, uint8_t *p_buffer, int i_len)
+static ssize_t Read( access_t *p_access, uint8_t *p_buffer, size_t i_len)
{
char *psz;
int i_mode, i_activity;
/* Return fake data forever */
p_access->pf_read = ReadNull;
- return ReadNull( p_access, p_buffer, i_len );
+ return -1;
}
/*****************************************************************************
int lastPacketId;
int lastForwardedPacketId;
-static int Read( access_t *, uint8_t *, int );
+static ssize_t Read( access_t *, uint8_t *, size_t );
static int Control( access_t *, int, va_list );
static void Thread( vlc_object_t * );
CFDataRef msgPortCallback( CFMessagePortRef local, SInt32 msgid, CFDataRef data, void *info );
/*****************************************************************************
* Read: forwarding data from EyeTV plugin which was received above
*****************************************************************************/
-static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
+static ssize_t Read( access_t *p_access, uint8_t *p_buffer, size_t i_len )
{
access_sys_t *p_sys = p_access->p_sys;
extern CFDataRef dataFromEyetv;
* Exported prototypes
*****************************************************************************/
static int Seek( access_t *, int64_t );
-static int Read( access_t *, uint8_t *, int );
+static ssize_t Read( access_t *, uint8_t *, size_t );
static int Control( access_t *, int, va_list );
static block_t *mmapBlock( access_t * );
/*****************************************************************************
* Read: standard read on a file descriptor.
*****************************************************************************/
-static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
+static ssize_t Read( access_t *p_access, uint8_t *p_buffer, size_t i_len )
{
access_sys_t *p_sys = p_access->p_sys;
int i_ret;
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Read( access_t *, uint8_t *, int );
-static int Write( sout_access_out_t *, block_t * );
+static ssize_t Read( access_t *, uint8_t *, size_t );
+static ssize_t Write( sout_access_out_t *, block_t * );
static int Seek( access_t *, int64_t );
static int OutSeek( sout_access_out_t *, int64_t );
static int Control( access_t *, int, va_list );
/*****************************************************************************
* Read:
*****************************************************************************/
-static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
+static ssize_t Read( access_t *p_access, uint8_t *p_buffer, size_t i_len )
{
access_sys_t *p_sys = p_access->p_sys;
int i_read;
/*****************************************************************************
* Write:
*****************************************************************************/
-static int Write( sout_access_out_t *p_access, block_t *p_buffer )
+static ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
{
access_sys_t *p_sys = GET_OUT_SYS(p_access);
size_t i_write = 0;
};
/* */
-static int Read( access_t *, uint8_t *, int );
+static ssize_t Read( access_t *, uint8_t *, size_t );
static int Seek( access_t *, int64_t );
static int Control( access_t *, int, va_list );
* p_buffer. Return the actual number of bytes read
*****************************************************************************/
static int ReadICYMeta( access_t *p_access );
-static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
+static ssize_t Read( access_t *p_access, uint8_t *p_buffer, size_t i_len )
{
access_sys_t *p_sys = p_access->p_sys;
int i_read;
int E_(MMSHOpen) ( access_t * );
void E_(MMSHClose) ( access_t * );
-static int Read( access_t *, uint8_t *, int );
-static int ReadRedirect( access_t *, uint8_t *, int );
+static ssize_t Read( access_t *, uint8_t *, size_t );
+static ssize_t ReadRedirect( access_t *, uint8_t *, size_t );
static int Seek( access_t *, int64_t );
static int Control( access_t *, int, va_list );
/*****************************************************************************
* Read:
*****************************************************************************/
-static int ReadRedirect( access_t *p_access, uint8_t *p, int i_len )
+static ssize_t ReadRedirect( access_t *p_access, uint8_t *p, size_t i_len )
{
- return VLC_SUCCESS;
+ return 0;
}
/*****************************************************************************
* Read:
*****************************************************************************/
-static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
+static ssize_t Read( access_t *p_access, uint8_t *p_buffer, size_t i_len )
{
access_sys_t *p_sys = p_access->p_sys;
size_t i_copy;
size_t i_data = 0;
if( p_access->info.b_eof )
- return VLC_SUCCESS;
+ return 0;
while( i_data < (size_t) i_len )
{
void E_( MMSTUClose ) ( access_t * );
-static int Read( access_t *, uint8_t *, int );
+static ssize_t Read( access_t *, uint8_t *, size_t );
static int Seek( access_t *, int64_t );
static int Control( access_t *, int, va_list );
/*****************************************************************************
* Read:
*****************************************************************************/
-static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
+static ssize_t Read( access_t *p_access, uint8_t *p_buffer, size_t i_len )
{
access_sys_t *p_sys = p_access->p_sys;
size_t i_data;
/*****************************************************************************
* Prototypes
*****************************************************************************/
-static int Read ( access_t *, uint8_t *, int );
+static ssize_t Read ( access_t *, uint8_t *, size_t );
static int Control( access_t *, int, va_list );
/* ivtv specific ioctls */
/*****************************************************************************
* Read
*****************************************************************************/
-static int Read( access_t * p_access, uint8_t * p_buffer, int i_len )
+static ssize_t Read( access_t * p_access, uint8_t * p_buffer, size_t i_len )
{
access_sys_t *p_sys = (access_sys_t *) p_access->p_sys;
struct pollfd ufd;
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Read( access_t *, uint8_t *, int );
+static ssize_t Read( access_t *, uint8_t *, size_t );
static int Seek( access_t *, int64_t );
static int Control( access_t *, int, va_list );
/*****************************************************************************
* Read:
*****************************************************************************/
-static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
+static ssize_t Read( access_t *p_access, uint8_t *p_buffer, size_t i_len )
{
access_sys_t *p_sys = p_access->p_sys;
int i_read;
};
-static int Read( access_t *, uint8_t *, int );
+static ssize_t Read( access_t *, uint8_t *, size_t );
static int Control( access_t *, int, va_list );
/*****************************************************************************
/*****************************************************************************
* Read: read on a file descriptor, checking b_die periodically
*****************************************************************************/
-static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
+static ssize_t Read( access_t *p_access, uint8_t *p_buffer, size_t i_len )
{
access_sys_t *p_sys = p_access->p_sys;
int i_read;
BANDWIDTH_LONGTEXT, VLC_FALSE);
vlc_module_end();
-static int Read (access_t *access, uint8_t *buffer, int len);
+static ssize_t Read (access_t *access, uint8_t *buffer, size_t len);
static int Seek (access_t *access, int64_t offset);
static int Control (access_t *access, int cmd, va_list ap);
}
-static int Read (access_t *access, uint8_t *buffer, int len)
+static ssize_t Read (access_t *access, uint8_t *buffer, size_t len)
{
access_t *src = access->p_source;
access_sys_t *p_sys = access->p_sys;
MARGIN_LONGTEXT, VLC_FALSE);
vlc_module_end();
-static int Read (access_t *access, uint8_t *buffer, int len);
+static ssize_t Read (access_t *access, uint8_t *buffer, size_t len);
static block_t *Block (access_t *access);
static int Seek (access_t *access, int64_t offset);
static int Control (access_t *access, int cmd, va_list ap);
}
-static int Read (access_t *access, uint8_t *buffer, int len)
+static ssize_t Read (access_t *access, uint8_t *buffer, size_t len)
{
access_t *src = access->p_source;
*****************************************************************************/
static block_t *Block ( access_t * );
-static int Read ( access_t *, uint8_t *, int );
+static ssize_t Read ( access_t *, uint8_t *, size_t );
static int Control( access_t *, int i_query, va_list args );
static int Seek ( access_t *, int64_t );
/*****************************************************************************
*
*****************************************************************************/
-static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
+static ssize_t Read( access_t *p_access, uint8_t *p_buffer, size_t i_len )
{
access_t *p_src = p_access->p_source;
int i_ret;
"append", NULL
};
-static int Write( sout_access_out_t *, block_t * );
+static ssize_t Write( sout_access_out_t *, block_t * );
static int Seek ( sout_access_out_t *, off_t );
-static int Read ( sout_access_out_t *, block_t * );
+static ssize_t Read ( sout_access_out_t *, block_t * );
struct sout_access_out_sys_t
{
/*****************************************************************************
* Read: standard read on a file descriptor.
*****************************************************************************/
-static int Read( sout_access_out_t *p_access, block_t *p_buffer )
+static ssize_t Read( sout_access_out_t *p_access, block_t *p_buffer )
{
if( strcmp( p_access->psz_path, "-" ) )
{
/*****************************************************************************
* Write: standard write on a file descriptor.
*****************************************************************************/
-static int Write( sout_access_out_t *p_access, block_t *p_buffer )
+static ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
{
size_t i_write = 0;
"user", "pwd", "mime", "cert", "key", "ca", "crl", NULL
};
-static int Write( sout_access_out_t *, block_t * );
+static ssize_t Write( sout_access_out_t *, block_t * );
static int Seek ( sout_access_out_t *, off_t );
struct sout_access_out_sys_t
/*****************************************************************************
* Write:
*****************************************************************************/
-static int Write( sout_access_out_t *p_access, block_t *p_buffer )
+static ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
{
sout_access_out_sys_t *p_sys = p_access->p_sys;
int i_err = 0;
/*****************************************************************************
* Exported prototypes
*****************************************************************************/
-static int Write( sout_access_out_t *, block_t * );
+static ssize_t Write( sout_access_out_t *, block_t * );
static int Seek ( sout_access_out_t *, off_t );
-static int Read ( sout_access_out_t *, block_t * );
struct sout_access_out_sys_t
{
}
p_access->pf_write = Write;
- p_access->pf_read = Read;
p_access->pf_seek = Seek;
msg_Dbg( p_access, "shout access output opened (%s@%s:%i/%s)",
msg_Dbg( p_access, "shout access output closed" );
}
-/*****************************************************************************
- * Read: standard read -- not supported
- *****************************************************************************/
-static int Read( sout_access_out_t *p_access, block_t *p_buffer )
-{
- msg_Err( p_access, "cannot read from shout" );
- return VLC_EGENERIC;
-}
-
/*****************************************************************************
* Write: standard write
*****************************************************************************/
-static int Write( sout_access_out_t *p_access, block_t *p_buffer )
+static ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
{
size_t i_write = 0;
NULL
};
-static int Write ( sout_access_out_t *, block_t * );
+static ssize_t Write ( sout_access_out_t *, block_t * );
static int Seek ( sout_access_out_t *, off_t );
static void ThreadWrite( vlc_object_t * );
/*****************************************************************************
* Write: standard write on a file descriptor.
*****************************************************************************/
-static int Write( sout_access_out_t *p_access, block_t *p_buffer )
+static ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
{
sout_access_out_sys_t *p_sys = p_access->p_sys;
int i_len = 0;
/*****************************************************************************
* sout_AccessRead:
*****************************************************************************/
-int sout_AccessOutRead( sout_access_out_t *p_access, block_t *p_buffer )
+ssize_t sout_AccessOutRead( sout_access_out_t *p_access, block_t *p_buffer )
{
return( p_access->pf_read ?
p_access->pf_read( p_access, p_buffer ) : VLC_EGENERIC );
/*****************************************************************************
* sout_AccessWrite:
*****************************************************************************/
-int sout_AccessOutWrite( sout_access_out_t *p_access, block_t *p_buffer )
+ssize_t sout_AccessOutWrite( sout_access_out_t *p_access, block_t *p_buffer )
{
- const int i_packets_gather = 30;
+ const unsigned i_packets_gather = 30;
p_access->i_writes++;
p_access->i_sent_bytes += p_buffer->i_buffer;
if( (p_access->i_writes % i_packets_gather) == 0 )