Browse Source

cameradevice: fixed a regression

Memory would sometimes not be freed.
Caused by 8776682d44
pull/2343/head
Dmytro Shynkevych 10 years ago
parent
commit
c491f79077
  1. 4
      src/video/cameradevice.cpp

4
src/video/cameradevice.cpp

@ -225,8 +225,11 @@ QVector<QPair<QString, QString>> CameraDevice::getRawDeviceListGeneric() @@ -225,8 +225,11 @@ QVector<QPair<QString, QString>> CameraDevice::getRawDeviceListGeneric()
if (av_opt_set_dict2(s, &tmp, AV_OPT_SEARCH_CHILDREN) < 0)
{
av_dict_free(&tmp);
avformat_free_context(s);
}
avdevice_list_devices(s, &devlist);
av_dict_free(&tmp);
avformat_free_context(s);
if (!devlist)
{
qWarning() << "avdevice_list_devices failed";
@ -242,7 +245,6 @@ QVector<QPair<QString, QString>> CameraDevice::getRawDeviceListGeneric() @@ -242,7 +245,6 @@ QVector<QPair<QString, QString>> CameraDevice::getRawDeviceListGeneric()
devices[i].second = dev->device_description;
}
avdevice_free_list_devices(&devlist);
avformat_free_context(s);
return devices;
}

Loading…
Cancel
Save