}
if((rate == -1 || !chan) && !wc->block_parsed){
int64_t block_end = avio_tell(pb) + wc->blksize - 24;
- if(url_is_streamed(pb)){
+ if(!pb->seekable){
av_log(ctx, AV_LOG_ERROR, "Cannot determine additional parameters\n");
return -1;
}
chmask = avio_rl32(pb);
break;
case 5:
- avio_seek(pb, 1, SEEK_CUR);
+ avio_skip(pb, 1);
chan |= (avio_r8(pb) & 0xF) << 8;
chmask = avio_rl24(pb);
break;
rate = avio_rl24(pb);
break;
default:
- avio_seek(pb, size, SEEK_CUR);
+ avio_skip(pb, size);
}
if(id&0x40)
- avio_seek(pb, 1, SEEK_CUR);
+ avio_skip(pb, 1);
}
if(rate == -1){
av_log(ctx, AV_LOG_ERROR, "Cannot determine custom sampling rate\n");
st->start_time = 0;
st->duration = wc->samples;
- if(!url_is_streamed(s->pb)) {
+ if(s->pb->seekable) {
int64_t cur = avio_tell(s->pb);
ff_ape_parse_tag(s);
if(!av_metadata_get(s->metadata, "", NULL, AV_METADATA_IGNORE_SUFFIX))