void RtPtsElement::setFps(const QbFrac &fps) { if (this->m_fps == fps) return; this->m_fps = fps.num() && fps.den()? fps: QbFrac(30000, 1001); this->m_timeBase = this->m_fps.invert(); this->m_timer.setInterval(1e3 * this->m_fps.invert().value()); emit this->fpsChanged(fps); }
bool QbFrac::operator ==(const QbFrac &other) const { if (this->toString() == other.toString()) return true; return false; }
QbCaps VideoStream::caps() const { const char *format = av_get_pix_fmt_name(this->codecContext()->pix_fmt); QbFrac fps = this->fps(); QbCaps caps(QString("video/x-raw," "format=%1," "width=%2," "height=%3," "fps=%4/%5").arg(format) .arg(this->codecContext()->width) .arg(this->codecContext()->height) .arg(fps.num()) .arg(fps.den())); return caps; }
QDebug operator <<(QDebug debug, const QbFrac &frac) { debug.nospace() << frac.toString(); return debug.space(); }