processing / processing-video

GStreamer-based video library for Processing
276 stars 130 forks source link

Capture.list() with video library 2.0 does not enumerate all camera configuration of each camera, just the unique camera names #179

Open aanestis opened 3 years ago

aanestis commented 3 years ago

Capture.list() with video library 2.0 does not enumerate all camera configurations of each camera, just the unique camera names. That means that it is not possible to search for a specific configuration and then initialize the camera using the constructor Capture(parent, requestConfig). That was possible with the Video 1.0.1 library list() method and is still described in the video tutorial (https://www.processing.org/tutorials/video/)). I have reverted to the previous version for now, but is this going to be the behavior from now on?

clankill3r commented 3 years ago

I have to agree that this is a huge step back. For now I open OBS to see all the available options there.

clankill3r commented 3 years ago

I looked into the old source, this is removed:

ArrayList<String> configList = new ArrayList<String>();
    for (String device: devices) {
      ArrayList<String> resolutions = listResolutions(sourceName, propertyName,
                                                      device);
      if (0 < resolutions.size()) {
        for (String res: resolutions) {
          configList.add("name=" + device + "," + res);
        }
      } else {
        configList.add("name=" + device);
      }
    }

I wanted to dig deeper, but the jar's are compiled without the source. And to much stuff is protected or private. And I'm just done with compiling java libraries.

marcobrianza commented 3 years ago

This is an issue also for me because requesting a not native resolution returns a stretched image with the wrong aspect ration

Crashnorun commented 1 year ago

Any update on this? Thanks