avdevice/avdevice: fix return value of avdevice_list_devices()
According to API docs avdevice_list_devices(), avdevice_list_input_sources()
and avdevice_list_input_sinks() should return the number of autodetected
devices on success. This is redundant with AVDeviceInfoList->nb_devices so it
was not noticed earlier that none of the underlying device list functions work
like that.
Let's fix it in generic code to make it in line with the API docs.
Fixes ticket #9820.
Signed-off-by: Marton Balint <cus@passwd.hu>
(cherry picked from commit 64f04df379)
This commit is contained in:
parent
2720715dab
commit
83feded492
1 changed files with 4 additions and 2 deletions
|
|
@ -75,9 +75,11 @@ int avdevice_list_devices(AVFormatContext *s, AVDeviceInfoList **device_list)
|
|||
ret = s->oformat->get_device_list(s, *device_list);
|
||||
else
|
||||
ret = s->iformat->get_device_list(s, *device_list);
|
||||
if (ret < 0)
|
||||
if (ret < 0) {
|
||||
avdevice_free_list_devices(device_list);
|
||||
return ret;
|
||||
return ret;
|
||||
}
|
||||
return (*device_list)->nb_devices;
|
||||
}
|
||||
|
||||
static int list_devices_for_context(AVFormatContext *s, AVDictionary *options,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue