Browse Source

Limit desktop streamins FPS

Otherwise we get overwhelmed and start dropping frames
pull/1793/head v1.1
tux3 10 years ago
parent
commit
e3dd2dc9e1
No known key found for this signature in database
GPG Key ID: 7E086DD661263264
  1. 12
      src/video/cameradevice.cpp
  2. 8
      src/widget/form/settings/avform.cpp

12
src/video/cameradevice.cpp

@ -83,7 +83,7 @@ CameraDevice* CameraDevice::open(QString devName, VideoMode mode) @@ -83,7 +83,7 @@ CameraDevice* CameraDevice::open(QString devName, VideoMode mode)
else if (devName.startsWith("x11grab#"))
{
QSize screen;
if (mode)
if (mode.width && mode.height)
{
screen.setWidth(mode.width);
screen.setHeight(mode.height);
@ -96,6 +96,16 @@ CameraDevice* CameraDevice::open(QString devName, VideoMode mode) @@ -96,6 +96,16 @@ CameraDevice* CameraDevice::open(QString devName, VideoMode mode)
screen.setHeight(screen.height()-1);
}
av_dict_set(&options, "video_size", QString("%1x%2").arg(screen.width()).arg(screen.height()).toStdString().c_str(), 0);
if (mode.FPS)
av_dict_set(&options, "framerate", QString().setNum(mode.FPS).toStdString().c_str(), 0);
else
av_dict_set(&options, "framerate", QString().setNum(5).toStdString().c_str(), 0);
}
#endif
#ifdef Q_OS_WIN
else if (devName.startsWith("gdigrab#"))
{
av_dict_set(&options, "framerate", QString().setNum(5).toStdString().c_str(), 0);
}
#endif
#ifdef Q_OS_WIN

8
src/widget/form/settings/avform.cpp

@ -128,7 +128,13 @@ void AVForm::updateVideoModes(int curIndex) @@ -128,7 +128,13 @@ void AVForm::updateVideoModes(int curIndex)
VideoMode mode = videoModes[i];
if (mode.width==prefRes.width() && mode.height==prefRes.height() && prefResIndex==-1)
prefResIndex = i;
QString str = tr("%1x%2 at %3 FPS").arg(mode.width).arg(mode.height).arg(mode.FPS);
QString str;
if (mode.height && mode.width)
str += tr("%1x%2").arg(mode.width).arg(mode.height);
else
str += tr("Default resolution");
if (mode.FPS)
str += tr(" at %1 FPS").arg(mode.FPS);
bodyUI->videoModescomboBox->addItem(str);
}
if (videoModes.isEmpty())

Loading…
Cancel
Save