s->must_flush = 0;
}
-int64_t url_fseek(AVIOContext *s, int64_t offset, int whence)
+int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
{
int64_t offset1;
int64_t pos;
return offset;
}
+#if FF_API_OLD_AVIO
int url_fskip(AVIOContext *s, int64_t offset)
{
- int64_t ret = url_fseek(s, offset, SEEK_CUR);
+ int64_t ret = avio_seek(s, offset, SEEK_CUR);
return ret < 0 ? ret : 0;
}
int64_t url_ftell(AVIOContext *s)
{
- return url_fseek(s, 0, SEEK_CUR);
+ return avio_seek(s, 0, SEEK_CUR);
}
+#endif
-int64_t url_fsize(AVIOContext *s)
+int64_t avio_size(AVIOContext *s)
{
int64_t size;
{
return avio_close(s);
}
+int64_t url_fseek(AVIOContext *s, int64_t offset, int whence)
+{
+ return avio_seek(s, offset, whence);
+}
+int64_t url_fsize(AVIOContext *s)
+{
+ return avio_size(s);
+}
#endif
int avio_put_str(AVIOContext *s, const char *str)
static void fill_buffer(AVIOContext *s)
{
- uint8_t *dst= !s->max_packet_size && s->buf_end - s->buffer < s->buffer_size ? s->buf_ptr : s->buffer;
+ uint8_t *dst= !s->max_packet_size && s->buf_end - s->buffer < s->buffer_size ? s->buf_end : s->buffer;
int len= s->buffer_size - (dst - s->buffer);
int max_buffer_size = s->max_packet_size ? s->max_packet_size : IO_BUFFER_SIZE;
return 0;
}
+#if FF_API_OLD_AVIO
int url_fgetc(AVIOContext *s)
{
if (s->buf_ptr >= s->buf_end)
return *s->buf_ptr++;
return URL_EOF;
}
+#endif
int avio_read(AVIOContext *s, unsigned char *buf, int size)
{
return val;
}
+#if FF_API_OLD_AVIO
char *get_strz(AVIOContext *s, char *buf, int maxlen)
{
- int i = 0;
- char c;
-
- while ((c = avio_r8(s))) {
- if (i < maxlen-1)
- buf[i++] = c;
- }
-
- buf[i] = 0; /* Ensure null terminated, but may be truncated */
-
+ avio_get_str(s, INT_MAX, buf, maxlen);
return buf;
}
+#endif
int ff_get_line(AVIOContext *s, char *buf, int maxlen)
{
return i;
}
+int avio_get_str(AVIOContext *s, int maxlen, char *buf, int buflen)
+{
+ int i;
+
+ // reserve 1 byte for terminating 0
+ buflen = FFMIN(buflen - 1, maxlen);
+ for (i = 0; i < buflen; i++)
+ if (!(buf[i] = avio_r8(s)))
+ return i + 1;
+ if (buflen)
+ buf[i] = 0;
+ for (; i < maxlen; i++)
+ if (!avio_r8(s))
+ return i + 1;
+ return maxlen;
+}
+
#define GET_STR16(type, read) \
int avio_get_str16 ##type(AVIOContext *pb, int maxlen, char *buf, int buflen)\
{\
return 0;
}
-int ff_rewind_with_probe_data(AVIOContext *s, unsigned char *buf, int buf_size)
+int ffio_rewind_with_probe_data(AVIOContext *s, unsigned char *buf, int buf_size)
{
int64_t buffer_start;
int buffer_size;
}
#endif //CONFIG_MUXERS
+#if FF_API_OLD_AVIO
char *url_fgets(AVIOContext *s, char *buf, int buf_size)
{
int c;
char *q;
- c = url_fgetc(s);
- if (c == EOF)
+ c = avio_r8(s);
+ if (url_feof(s))
return NULL;
q = buf;
for(;;) {
- if (c == EOF || c == '\n')
+ if (url_feof(s) || c == '\n')
break;
if ((q - buf) < buf_size - 1)
*q++ = c;
- c = url_fgetc(s);
+ c = avio_r8(s);
}
if (buf_size > 0)
*q = '\0';
{
return s->max_packet_size;
}
+#endif
int av_url_read_fpause(AVIOContext *s, int pause)
{