AkCaps CaptureDShow::capsFromMediaType(const AM_MEDIA_TYPE *mediaType) const { if (!mediaType) return AkCaps(); VIDEOINFOHEADER *videoInfoHeader = reinterpret_cast<VIDEOINFOHEADER *>(mediaType->pbFormat); QString fourcc = guidToStr->value(mediaType->subtype); if (fourcc.isEmpty()) return AkCaps(); AkCaps videoCaps; videoCaps.setMimeType("video/unknown"); videoCaps.setProperty("fourcc", fourcc); videoCaps.setProperty("width", int(videoInfoHeader->bmiHeader.biWidth)); videoCaps.setProperty("height", int(videoInfoHeader->bmiHeader.biHeight)); AkFrac fps(TIME_BASE, videoInfoHeader->AvgTimePerFrame); videoCaps.setProperty("fps", fps.toString()); return videoCaps; }
AkCaps AndroidScreenDev::caps(int stream) { if (this->d->m_curScreenNumber < 0 || stream != 0) return AkCaps(); auto screens = QGuiApplication::screens(); auto screen = screens[this->d->m_curScreenNumber]; if (!screen) return {}; return AkVideoCaps(AkVideoCaps::Format_rgb24, screen->size().width(), screen->size().height(), this->d->m_fps).toCaps(); }
AkCaps DesktopCaptureElement::caps(int stream) const { if (this->m_curScreenNumber < 0 || stream != 0) return AkCaps(); QScreen *screen = QGuiApplication::screens()[this->m_curScreenNumber]; if (!screen) return QString(); AkVideoCaps caps; caps.isValid() = true; caps.format() = AkVideoCaps::Format_rgb24; caps.bpp() = AkVideoCaps::bitsPerPixel(caps.format()); caps.width() = screen->size().width(); caps.height() = screen->size().height(); caps.fps() = this->m_fps; return caps.toCaps(); }
void AkPacket::resetCaps() { this->setCaps(AkCaps()); }
AkCaps &AkCaps::operator =(const QString &other) { return this->operator =(AkCaps(other)); }
AkCaps AbstractStream::caps() const { return AkCaps(); }
AkCaps AkVideoCaps::toCaps() const { return AkCaps(this->toString()); }
AkVideoCaps &AkVideoCaps::operator =(const QString &caps) { return this->operator =(AkCaps(caps)); }