In preparation of reworking how a default configuration is retrieved from a camera remove the streams and validation using the stream when judging if a camera configuration is valid. This is needed as once stream usage hints are added applications will no longer fetch default configuration based on Stream IDs so using them to verify the returned format is not useful. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
71 lines
1.6 KiB
C++
71 lines
1.6 KiB
C++
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright (C) 2019, Google Inc.
|
|
*
|
|
* libcamera Camera API tests
|
|
*/
|
|
|
|
#include <iostream>
|
|
|
|
#include "camera_test.h"
|
|
|
|
using namespace std;
|
|
|
|
namespace {
|
|
|
|
class ConfigurationDefault : public CameraTest
|
|
{
|
|
protected:
|
|
int run()
|
|
{
|
|
std::map<Stream *, StreamConfiguration> conf;
|
|
|
|
/*
|
|
* Test that asking for default configuration for a valid
|
|
* array of streams returns something valid.
|
|
*/
|
|
std::set<Stream *> streams = { *camera_->streams().begin() };
|
|
conf = camera_->streamConfiguration(streams);
|
|
if (conf.empty()) {
|
|
cout << "Failed to retrieve configuration for valid streams"
|
|
<< endl;
|
|
return TestFail;
|
|
}
|
|
|
|
if (!configurationValid(conf)) {
|
|
cout << "Default configuration invalid" << endl;
|
|
return TestFail;
|
|
}
|
|
|
|
/*
|
|
* Test that asking for configuration for an empty array of
|
|
* streams returns an empty list of configurations.
|
|
*/
|
|
std::set<Stream *> streams_empty = {};
|
|
conf = camera_->streamConfiguration(streams_empty);
|
|
if (!conf.empty()) {
|
|
cout << "Failed to retrieve configuration for empty streams"
|
|
<< endl;
|
|
return TestFail;
|
|
}
|
|
|
|
/*
|
|
* Test that asking for configuration for an array of bad streams
|
|
* returns an empty list of configurations.
|
|
*/
|
|
Stream *stream_bad = reinterpret_cast<Stream *>(0xdeadbeef);
|
|
std::set<Stream *> streams_bad = { stream_bad };
|
|
conf = camera_->streamConfiguration(streams_bad);
|
|
if (!conf.empty()) {
|
|
cout << "Failed to retrieve configuration for bad streams"
|
|
<< endl;
|
|
return TestFail;
|
|
}
|
|
|
|
return TestPass;
|
|
}
|
|
};
|
|
|
|
} /* namespace */
|
|
|
|
TEST_REGISTER(ConfigurationDefault);
|