|
|
|
@ -101,6 +101,7 @@ int avdevice_dev_to_app_control_message(struct AVFormatContext *s, enum AVDevToA |
|
|
|
|
|
|
|
|
|
int avdevice_list_devices(AVFormatContext *s, AVDeviceInfoList **device_list) |
|
|
|
|
{ |
|
|
|
|
int ret; |
|
|
|
|
av_assert0(s); |
|
|
|
|
av_assert0(device_list); |
|
|
|
|
av_assert0(s->oformat || s->iformat); |
|
|
|
@ -113,8 +114,12 @@ int avdevice_list_devices(AVFormatContext *s, AVDeviceInfoList **device_list) |
|
|
|
|
if (!(*device_list)) |
|
|
|
|
return AVERROR(ENOMEM); |
|
|
|
|
if (s->oformat) |
|
|
|
|
return s->oformat->get_device_list(s, *device_list); |
|
|
|
|
return s->iformat->get_device_list(s, *device_list); |
|
|
|
|
ret = s->oformat->get_device_list(s, *device_list); |
|
|
|
|
else |
|
|
|
|
ret = s->iformat->get_device_list(s, *device_list); |
|
|
|
|
if (ret < 0) |
|
|
|
|
avdevice_free_list_devices(device_list); |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void avdevice_free_list_devices(AVDeviceInfoList **device_list) |
|
|
|
|