int avio_get_str16le(AVIOContext *pb, int maxlen, char *buf, int buflen);
int avio_get_str16be(AVIOContext *pb, int maxlen, char *buf, int buflen);
-char *get_strz(AVIOContext *s, char *buf, int maxlen);
+#if FF_API_OLD_AVIO
+/**
+ * @deprecated use avio_get_str instead
+ */
+attribute_deprecated char *get_strz(AVIOContext *s, char *buf, int maxlen);
+#endif
unsigned int avio_rb16(AVIOContext *s);
unsigned int avio_rb24(AVIOContext *s);
unsigned int avio_rb32(AVIOContext *s);
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)
{
for (i = 0; i < nb_entries; i++) {
char key[32];
char value[1024];
- get_strz(pb, key, sizeof(key));
- get_strz(pb, value, sizeof(value));
+ avio_get_str(pb, INT_MAX, key, sizeof(key));
+ avio_get_str(pb, INT_MAX, value, sizeof(value));
av_metadata_set2(&s->metadata, key, value, 0);
}
}
codec->qcompress = avio_rb16(pb) / 10000.0;
codec->qblur = avio_rb16(pb) / 10000.0;
codec->bit_rate_tolerance = avio_rb32(pb);
- codec->rc_eq = av_strdup(get_strz(pb, rc_eq_buf, sizeof(rc_eq_buf)));
+ avio_get_str(pb, INT_MAX, rc_eq_buf, sizeof(rc_eq_buf));
+ codec->rc_eq = av_strdup(rc_eq_buf);
codec->rc_max_rate = avio_rb32(pb);
codec->rc_min_rate = avio_rb32(pb);
codec->rc_buffer_size = avio_rb32(pb);
avio_get_str16le(sc->pb, len, title, title_len);
else {
AV_WB16(title, ch);
- get_strz(sc->pb, title + 2, len - 1);
+ avio_get_str(sc->pb, len - 2, title + 2, title_len - 2);
}
ff_new_chapter(s, i, st->time_base, sample->timestamp, end, title);