int64_t i_chunk;
int i_icy_meta;
- int64_t i_icy_offset;
+ uint64_t i_icy_offset;
char *psz_icy_name;
char *psz_icy_genre;
char *psz_icy_title;
- int64_t i_remaining;
+ uint64_t i_remaining;
bool b_seekable;
bool b_reconnect;
/* */
static ssize_t Read( access_t *, uint8_t *, size_t );
static ssize_t ReadCompressed( access_t *, uint8_t *, size_t );
-static int Seek( access_t *, int64_t );
+static int Seek( access_t *, uint64_t );
static int Control( access_t *, int, va_list );
/* */
-static int Connect( access_t *, int64_t );
-static int Request( access_t *p_access, int64_t i_tell );
+static int Connect( access_t *, uint64_t );
+static int Request( access_t *p_access, uint64_t i_tell );
static void Disconnect( access_t * );
/* Small Cookie utilities. Cookies support is partial. */
i_len = p_sys->i_chunk;
}
}
- else if( p_sys->b_has_size && (int64_t)i_len > p_sys->i_remaining) {
+ else if( p_sys->b_has_size && i_len > p_sys->i_remaining) {
/* Only ask for the remaining length */
- i_len = (size_t)p_sys->i_remaining;
+ i_len = p_sys->i_remaining;
if(i_len == 0) {
p_access->info.b_eof = true;
return 0;
if( p_sys->b_has_size )
{
+ assert( i_read <= p_sys->i_remaining );
p_sys->i_remaining -= i_read;
}
/*****************************************************************************
* Seek: close and re-open a connection at the right place
*****************************************************************************/
-static int Seek( access_t *p_access, int64_t i_pos )
+static int Seek( access_t *p_access, uint64_t i_pos )
{
msg_Dbg( p_access, "trying to seek to %"PRId64, i_pos );
Disconnect( p_access );
if( p_access->info.i_size
- && (uint64_t)i_pos >= (uint64_t)p_access->info.i_size ) {
+ && i_pos >= p_access->info.i_size ) {
msg_Err( p_access, "seek to far" );
int retval = Seek( p_access, p_access->info.i_size - 1 );
if( retval == VLC_SUCCESS ) {
/*****************************************************************************
* Connect:
*****************************************************************************/
-static int Connect( access_t *p_access, int64_t i_tell )
+static int Connect( access_t *p_access, uint64_t i_tell )
{
access_sys_t *p_sys = p_access->p_sys;
vlc_url_t srv = p_sys->b_proxy ? p_sys->proxy : p_sys->url;
}
-static int Request( access_t *p_access, int64_t i_tell )
+static int Request( access_t *p_access, uint64_t i_tell )
{
access_sys_t *p_sys = p_access->p_sys;
char *psz ;
if( !strcasecmp( psz, "Content-Length" ) )
{
- int64_t i_size = i_tell + (p_sys->i_remaining = atoll( p ));
+ uint64_t i_size = i_tell + (p_sys->i_remaining = (uint64_t)atoll( p ));
if(i_size > p_access->info.i_size) {
p_sys->b_has_size = true;
p_access->info.i_size = i_size;
}
- msg_Dbg( p_access, "this frame size=%"PRId64, p_sys->i_remaining );
+ msg_Dbg( p_access, "this frame size=%"PRIu64, p_sys->i_remaining );
}
else if( !strcasecmp( psz, "Content-Range" ) ) {
- int64_t i_ntell = i_tell;
- int64_t i_nend = (p_access->info.i_size > 0)?(p_access->info.i_size - 1):i_tell;
- int64_t i_nsize = p_access->info.i_size;
- sscanf(p,"bytes %"SCNd64"-%"SCNd64"/%"SCNd64,&i_ntell,&i_nend,&i_nsize);
+ uint64_t i_ntell = i_tell;
+ uint64_t i_nend = (p_access->info.i_size > 0)?(p_access->info.i_size - 1):i_tell;
+ uint64_t i_nsize = p_access->info.i_size;
+ sscanf(p,"bytes %"SCNu64"-%"SCNu64"/%"SCNu64,&i_ntell,&i_nend,&i_nsize);
if(i_nend > i_ntell ) {
p_access->info.i_pos = i_ntell;
p_sys->i_remaining = i_nend+1-i_ntell;
p_sys->b_has_size = true;
p_access->info.i_size = i_size;
}
- msg_Dbg( p_access, "stream size=%"PRId64",pos=%"PRId64",remaining=%"PRId64,i_nsize,i_ntell,p_sys->i_remaining);
+ msg_Dbg( p_access, "stream size=%"PRIu64",pos=%"PRIu64",remaining=%"PRIu64,
+ i_nsize, i_ntell, p_sys->i_remaining);
}
}
else if( !strcasecmp( psz, "Connection" ) ) {