// FIXME: sys may be wrong if last dv_read_packet() failed (buffer is junk)
const DVprofile* sys = ff_dv_codec_profile(c->vst->codec);
int64_t offset;
- int64_t size = url_fsize(s->pb) - s->data_offset;
+ int64_t size = avio_size(s->pb) - s->data_offset;
int64_t max_offset = ((size-1) / sys->frame_size) * sys->frame_size;
offset = sys->frame_size * timestamp;
if (!c->dv_demux)
return -1;
- state = get_be32(s->pb);
+ state = avio_rb32(s->pb);
while ((state & 0xffffff7f) != 0x1f07003f) {
if (url_feof(s->pb)) {
av_log(s, AV_LOG_ERROR, "Cannot find DV header.\n");
return -1;
}
if (state == 0x003f0700 || state == 0xff3f0700)
- marker_pos = url_ftell(s->pb);
- if (state == 0xff3f0701 && url_ftell(s->pb) - marker_pos == 80) {
- url_fseek(s->pb, -163, SEEK_CUR);
- state = get_be32(s->pb);
+ marker_pos = avio_tell(s->pb);
+ if (state == 0xff3f0701 && avio_tell(s->pb) - marker_pos == 80) {
+ avio_seek(s->pb, -163, SEEK_CUR);
+ state = avio_rb32(s->pb);
break;
}
- state = (state << 8) | get_byte(s->pb);
+ state = (state << 8) | avio_r8(s->pb);
}
AV_WB32(c->buf, state);
- if (get_buffer(s->pb, c->buf + 4, DV_PROFILE_BYTES - 4) <= 0 ||
- url_fseek(s->pb, -DV_PROFILE_BYTES, SEEK_CUR) < 0)
+ if (avio_read(s->pb, c->buf + 4, DV_PROFILE_BYTES - 4) <= 0 ||
+ avio_seek(s->pb, -DV_PROFILE_BYTES, SEEK_CUR) < 0)
return AVERROR(EIO);
c->dv_demux->sys = ff_dv_frame_profile(c->dv_demux->sys, c->buf, DV_PROFILE_BYTES);
if (!c->dv_demux->sys)
return AVERROR(EIO);
size = c->dv_demux->sys->frame_size;
- if (get_buffer(s->pb, c->buf, size) <= 0)
+ if (avio_read(s->pb, c->buf, size) <= 0)
return AVERROR(EIO);
size = dv_produce_packet(c->dv_demux, pkt, c->buf, size);
dv_offset_reset(c, offset / c->sys->frame_size);
- offset = url_fseek(s->pb, offset, SEEK_SET);
+ offset = avio_seek(s->pb, offset, SEEK_SET);
return (offset < 0) ? offset : 0;
}
}
#if CONFIG_DV_DEMUXER
-AVInputFormat dv_demuxer = {
+AVInputFormat ff_dv_demuxer = {
"dv",
NULL_IF_CONFIG_SMALL("DV video format"),
sizeof(RawDVContext),