type = "v";
}
+ if (ret < 0) {
+ av_log(s, AV_LOG_ERROR, "get_str failed while decoding info header\n");
+ return ret;
+ }
+
if (stream_id_plus1 > s->nb_streams) {
- av_log(s, AV_LOG_ERROR, "invalid stream id for info packet\n");
+ av_log(s, AV_LOG_WARNING,
+ "invalid stream id %d for info packet\n",
+ stream_id_plus1);
continue;
}
avio_seek(bc, filesize - 12, SEEK_SET);
avio_seek(bc, filesize - avio_rb64(bc), SEEK_SET);
if (avio_rb64(bc) != INDEX_STARTCODE) {
- av_log(s, AV_LOG_ERROR, "no index at the end\n");
+ av_log(s, AV_LOG_WARNING, "no index at the end\n");
+
+ if(s->duration<=0)
+ s->duration = find_duration(nut, filesize);
return ret;
}