break;
c = avio_r8(bc);
- if (url_feof(bc))
+ if (bc->eof_reached)
return -1;
sync[sp++ & 3] = c;
}while (i++ < MAX_PAGE_SIZE);
idx = ogg_find_stream (ogg, serial);
if (idx < 0){
+ if (ogg->headers) {
+ int n;
+
+ for (n = 0; n < ogg->nstreams; n++) {
+ av_freep(&ogg->streams[n].buf);
+ av_freep(&ogg->streams[n].private);
+ }
+ ogg->curidx = -1;
+ ogg->nstreams = 0;
+ }
idx = ogg_new_stream (s, serial);
if (idx < 0)
return -1;
int complete = 0;
int segp = 0, psize = 0;
-#if 0
- av_log (s, AV_LOG_DEBUG, "ogg_packet: curidx=%i\n", ogg->curidx);
-#endif
+ av_dlog(s, AV_LOG_DEBUG, "ogg_packet: curidx=%i\n", ogg->curidx);
do{
idx = ogg->curidx;
os = ogg->streams + idx;
-#if 0
- av_log (s, AV_LOG_DEBUG,
+ av_dlog(s, AV_LOG_DEBUG,
"ogg_packet: idx=%d pstart=%d psize=%d segp=%d nsegs=%d\n",
idx, os->pstart, os->psize, os->segp, os->nsegs);
-#endif
if (!os->codec){
if (os->header < 0){
}
}while (!complete);
-#if 0
- av_log (s, AV_LOG_DEBUG,
+ av_dlog(s, AV_LOG_DEBUG,
"ogg_packet: idx %i, frame size %i, start %i\n",
idx, os->psize, os->pstart);
-#endif
if (os->granule == -1)
av_log(s, AV_LOG_WARNING, "Page at %"PRId64" is missing granule\n", os->page_pos);
return -1;
}while (!ogg->headers);
-#if 0
- av_log (s, AV_LOG_DEBUG, "found headers\n");
-#endif
+ av_dlog(s, AV_LOG_DEBUG, "found headers\n");
return 0;
}
int i;
int64_t size, end;
- if(url_is_streamed(s->pb))
+ if(!s->pb->seekable)
return 0;
// already set