+
+ if (!s->streams[i]->codecpar->bit_rate) {
+ int64_t bitrate = (int64_t) size * 8 * AV_TIME_BASE / av_rescale_q(duration, s->streams[i]->time_base, AV_TIME_BASE_Q);
+ if (!bitrate) {
+ av_log(s, AV_LOG_ERROR, "calculating bitrate got zero.\n");
+ ret = AVERROR(EINVAL);
+ return ret;
+ }
+
+ av_log(s, AV_LOG_DEBUG, "calculated bitrate: %"PRId64"\n", bitrate);
+ s->streams[i]->codecpar->bit_rate = bitrate;
+ memcpy(curr_dirname, os->dirname, sizeof(os->dirname));
+ snprintf(os->dirname, sizeof(os->dirname), "%s/QualityLevels(%"PRId64")", s->url, s->streams[i]->codecpar->bit_rate);
+ snprintf(filename, sizeof(filename), "%s/temp", os->dirname);
+
+ // rename the tmp folder back to the correct name since we now have the bitrate
+ if ((ret = ff_rename((const char*)curr_dirname, os->dirname, s)) < 0)
+ return ret;
+ }
+