Libavformat should not make any assumptions about values returned from
other libraries. This assert is easily reachable by using a non-raw
codec id.
return ret;
bps= av_get_bits_per_sample(s->streams[0]->codec->codec_id);
- assert(bps); // if false there IS a bug elsewhere (NOT in this function)
+ if (!bps) {
+ av_log(s, AV_LOG_ERROR, "Unknown number of bytes per sample.\n");
+ return AVERROR(EINVAL);
+ }
+
pkt->dts=
pkt->pts= pkt->pos*8 / (bps * s->streams[0]->codec->channels);