[libcamera-devel] [PATCH 0/2] Simple pipeline: skip broken pipeline configurations

Andrey Konovalov andrey.konovalov at linaro.org
Tue Apr 21 22:39:52 CEST 2020


When enumerating the possible pipeline configurations, SimpleCameraData::init()
doesn't check if the sink pad uses the same format as the source pad of the
same link does. This can result in broken pipeline configurations added to
the formats_ map, and if such a configuration is selected the issue reveals
late as a failure to start streaming.

The first patch adds the check into SimpleCameraData::setupFormats() - now
it returns -EINVAL if a link is misconfigured.

The second patch prevents the enumeration of the possible pipeline
configurations from being aborted on the first broken configuration
and proceeds with the next media bus code instead.

Andrey Konovalov (2):
  libcamera: pipeline: simple: make sure the formats at the link's pads
    match
  libcamera: pipeline: simple: try next mbus code if setupFormats()
    fails

 src/libcamera/pipeline/simple/simple.cpp | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

-- 
2.17.1



More information about the libcamera-devel mailing list