- /* TODO: avformat_open_input calls read_header callback which is not necessary.
- Function like avformat_alloc_output_context2 for input could be helpful here. */
- av_dict_copy(&tmp_opts, opts, 0);
- if ((ret = avformat_open_input(&dev, NULL, fmt, &tmp_opts)) < 0) {
- printf("Cannot open device: %s.\n", fmt->name);
- goto fail;
- }
-
- if ((ret = avdevice_list_devices(dev, &device_list)) < 0) {
+ if ((ret = avdevice_list_input_sources(fmt, NULL, opts, &device_list)) < 0) {