[{"id":1613,"web_url":"https://patchwork.libcamera.org/comment/1613/","msgid":"<20190518154034.GD25081@bigcity.dyn.berto.se>","date":"2019-05-18T15:40:35","subject":"Re: [libcamera-devel] [PATCH/RFC 02/12] libcamera: camera: Rename\n\tconfigureStreams() and streamConfiguration()","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Laurent,\n\nThanks for your work.\n\nOn 2019-05-18 02:06:11 +0300, Laurent Pinchart wrote:\n> Rename the configureStreams() and streamConfiguration() methods to\n> configure() and generateConfiguration() respectively in order to clarify\n> the API. Both methods deal with CameraConfiguration objects, and are\n> thus not limited to streams, even if a CameraConfiguration currently\n> contains streams only.\n> \n> While at it, remove the qcam MainWindow::configureStreams() method that\n> is declared but never defined or used.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n\n> ---\n>  include/libcamera/camera.h               |  4 ++--\n>  src/cam/main.cpp                         |  6 ++---\n>  src/libcamera/camera.cpp                 | 28 ++++++++++++------------\n>  src/libcamera/include/pipeline_handler.h |  4 ++--\n>  src/libcamera/pipeline/ipu3/ipu3.cpp     | 21 +++++++++---------\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp | 10 ++++-----\n>  src/libcamera/pipeline/uvcvideo.cpp      | 16 +++++++-------\n>  src/libcamera/pipeline/vimc.cpp          | 16 +++++++-------\n>  src/libcamera/pipeline_handler.cpp       | 28 ++++++++++++------------\n>  src/libcamera/stream.cpp                 |  5 ++---\n>  src/qcam/main_window.cpp                 |  4 ++--\n>  src/qcam/main_window.h                   |  1 -\n>  test/camera/capture.cpp                  |  4 ++--\n>  test/camera/configuration_default.cpp    |  4 ++--\n>  test/camera/configuration_set.cpp        | 10 ++++-----\n>  test/camera/statemachine.cpp             | 16 +++++++-------\n>  16 files changed, 87 insertions(+), 90 deletions(-)\n> \n> diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h\n> index 777b7e4d48b8..306739b7014a 100644\n> --- a/include/libcamera/camera.h\n> +++ b/include/libcamera/camera.h\n> @@ -75,8 +75,8 @@ public:\n>  \n>  \tconst std::set<Stream *> &streams() const;\n>  \tCameraConfiguration\n> -\tstreamConfiguration(const std::vector<StreamUsage> &usage);\n> -\tint configureStreams(const CameraConfiguration &config);\n> +\tgenerateConfiguration(const std::vector<StreamUsage> &usage);\n> +\tint configure(const CameraConfiguration &config);\n>  \n>  \tint allocateBuffers();\n>  \tint freeBuffers();\n> diff --git a/src/cam/main.cpp b/src/cam/main.cpp\n> index f03c32b385a9..6a2508dd3bd9 100644\n> --- a/src/cam/main.cpp\n> +++ b/src/cam/main.cpp\n> @@ -93,7 +93,7 @@ static int prepareCameraConfig(CameraConfiguration *config)\n>  \n>  \t/* If no configuration is provided assume a single video stream. */\n>  \tif (!options.isSet(OptStream)) {\n> -\t\t*config = camera->streamConfiguration({ Stream::VideoRecording() });\n> +\t\t*config = camera->generateConfiguration({ Stream::VideoRecording() });\n>  \t\tstreamInfo[config->front()] = \"stream0\";\n>  \t\treturn 0;\n>  \t}\n> @@ -121,7 +121,7 @@ static int prepareCameraConfig(CameraConfiguration *config)\n>  \t\t}\n>  \t}\n>  \n> -\t*config = camera->streamConfiguration(roles);\n> +\t*config = camera->generateConfiguration(roles);\n>  \n>  \tif (!config->isValid()) {\n>  \t\tstd::cerr << \"Failed to get default stream configuration\"\n> @@ -211,7 +211,7 @@ static int capture()\n>  \t\treturn ret;\n>  \t}\n>  \n> -\tret = camera->configureStreams(config);\n> +\tret = camera->configure(config);\n>  \tif (ret < 0) {\n>  \t\tstd::cout << \"Failed to configure camera\" << std::endl;\n>  \t\treturn ret;\n> diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp\n> index 1a21acac9899..359174a41823 100644\n> --- a/src/libcamera/camera.cpp\n> +++ b/src/libcamera/camera.cpp\n> @@ -275,10 +275,10 @@ const StreamConfiguration &CameraConfiguration::operator[](Stream *stream) const\n>   *   Available -> Acquired [label = \"acquire()\"];\n>   *\n>   *   Acquired -> Available [label = \"release()\"];\n> - *   Acquired -> Configured [label = \"configureStreams()\"];\n> + *   Acquired -> Configured [label = \"configure()\"];\n>   *\n>   *   Configured -> Available [label = \"release()\"];\n> - *   Configured -> Configured [label = \"configureStreams()\"];\n> + *   Configured -> Configured [label = \"configure()\"];\n>   *   Configured -> Prepared [label = \"allocateBuffers()\"];\n>   *\n>   *   Prepared -> Configured [label = \"freeBuffers()\"];\n> @@ -542,23 +542,23 @@ const std::set<Stream *> &Camera::streams() const\n>  }\n>  \n>  /**\n> - * \\brief Retrieve a group of stream configurations according to stream usages\n> + * \\brief Generate a default camera configuration according to stream usages\n>   * \\param[in] usages A list of stream usages\n>   *\n> - * Retrieve configuration for a set of desired usages. The caller specifies a\n> - * list of stream usages and the camera returns a map of suitable streams and\n> - * their suggested default configurations.\n> + * Generate a camera configuration for a set of desired usages. The caller\n> + * specifies a list of stream usages and the camera returns a configuration\n> + * containing suitable streams and their suggested default configurations.\n>   *\n>   * \\return A valid CameraConfiguration if the requested usages can be satisfied,\n>   * or a invalid one otherwise\n>   */\n>  CameraConfiguration\n> -Camera::streamConfiguration(const std::vector<StreamUsage> &usages)\n> +Camera::generateConfiguration(const std::vector<StreamUsage> &usages)\n>  {\n>  \tif (disconnected_ || !usages.size() || usages.size() > streams_.size())\n>  \t\treturn CameraConfiguration();\n>  \n> -\tCameraConfiguration config = pipe_->streamConfiguration(this, usages);\n> +\tCameraConfiguration config = pipe_->generateConfiguration(this, usages);\n>  \n>  \tstd::ostringstream msg(\"streams configuration:\", std::ios_base::ate);\n>  \tunsigned int index = 0;\n> @@ -575,7 +575,7 @@ Camera::streamConfiguration(const std::vector<StreamUsage> &usages)\n>  }\n>  \n>  /**\n> - * \\brief Configure the camera's streams prior to capture\n> + * \\brief Configure the camera prior to capture\n>   * \\param[in] config The camera configurations to setup\n>   *\n>   * Prior to starting capture, the camera must be configured to select a\n> @@ -584,9 +584,9 @@ Camera::streamConfiguration(const std::vector<StreamUsage> &usages)\n>   * by populating \\a config.\n>   *\n>   * The easiest way to populate the array of config is to fetch an initial\n> - * configuration from the camera with streamConfiguration() and then change the\n> - * parameters to fit the caller's need and once all the streams parameters are\n> - * configured hand that over to configureStreams() to actually setup the camera.\n> + * configuration from the camera with generateConfiguration() and then change\n> + * the parameters to fit the caller's need and once all the streams parameters\n> + * are configured hand that over to configure() to actually setup the camera.\n>   *\n>   * Exclusive access to the camera shall be ensured by a call to acquire() prior\n>   * to calling this function, otherwise an -EACCES error will be returned.\n> @@ -598,7 +598,7 @@ Camera::streamConfiguration(const std::vector<StreamUsage> &usages)\n>   * \\retval -EACCES The camera is not in a state where it can be configured\n>   * \\retval -EINVAL The configuration is not valid\n>   */\n> -int Camera::configureStreams(const CameraConfiguration &config)\n> +int Camera::configure(const CameraConfiguration &config)\n>  {\n>  \tint ret;\n>  \n> @@ -629,7 +629,7 @@ int Camera::configureStreams(const CameraConfiguration &config)\n>  \n>  \tLOG(Camera, Info) << msg.str();\n>  \n> -\tret = pipe_->configureStreams(this, config);\n> +\tret = pipe_->configure(this, config);\n>  \tif (ret)\n>  \t\treturn ret;\n>  \n> diff --git a/src/libcamera/include/pipeline_handler.h b/src/libcamera/include/pipeline_handler.h\n> index 9f5fe3d673e2..9cc11a8e192e 100644\n> --- a/src/libcamera/include/pipeline_handler.h\n> +++ b/src/libcamera/include/pipeline_handler.h\n> @@ -61,8 +61,8 @@ public:\n>  \tvoid unlock();\n>  \n>  \tvirtual CameraConfiguration\n> -\tstreamConfiguration(Camera *camera, const std::vector<StreamUsage> &usages) = 0;\n> -\tvirtual int configureStreams(Camera *camera, const CameraConfiguration &config) = 0;\n> +\tgenerateConfiguration(Camera *camera, const std::vector<StreamUsage> &usages) = 0;\n> +\tvirtual int configure(Camera *camera, const CameraConfiguration &config) = 0;\n>  \n>  \tvirtual int allocateBuffers(Camera *camera,\n>  \t\t\t\t    const std::set<Stream *> &streams) = 0;\n> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> index 75a70e66eacc..ba0c708f9e1e 100644\n> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> @@ -151,10 +151,10 @@ public:\n>  \tPipelineHandlerIPU3(CameraManager *manager);\n>  \n>  \tCameraConfiguration\n> -\tstreamConfiguration(Camera *camera,\n> -\t\t\t    const std::vector<StreamUsage> &usages) override;\n> -\tint configureStreams(Camera *camera,\n> -\t\t\t     const CameraConfiguration &config) override;\n> +\tgenerateConfiguration(Camera *camera,\n> +\t\t\t      const std::vector<StreamUsage> &usages) override;\n> +\tint configure(Camera *camera,\n> +\t\t      const CameraConfiguration &config) override;\n>  \n>  \tint allocateBuffers(Camera *camera,\n>  \t\t\t    const std::set<Stream *> &streams) override;\n> @@ -210,8 +210,8 @@ PipelineHandlerIPU3::PipelineHandlerIPU3(CameraManager *manager)\n>  }\n>  \n>  CameraConfiguration\n> -PipelineHandlerIPU3::streamConfiguration(Camera *camera,\n> -\t\t\t\t\t const std::vector<StreamUsage> &usages)\n> +PipelineHandlerIPU3::generateConfiguration(Camera *camera,\n> +\t\t\t\t\t   const std::vector<StreamUsage> &usages)\n>  {\n>  \tIPU3CameraData *data = cameraData(camera);\n>  \tCameraConfiguration config = {};\n> @@ -309,8 +309,8 @@ PipelineHandlerIPU3::streamConfiguration(Camera *camera,\n>  \treturn config;\n>  }\n>  \n> -int PipelineHandlerIPU3::configureStreams(Camera *camera,\n> -\t\t\t\t\t  const CameraConfiguration &config)\n> +int PipelineHandlerIPU3::configure(Camera *camera,\n> +\t\t\t\t   const CameraConfiguration &config)\n>  {\n>  \tIPU3CameraData *data = cameraData(camera);\n>  \tIPU3Stream *outStream = &data->outStream_;\n> @@ -631,11 +631,10 @@ bool PipelineHandlerIPU3::match(DeviceEnumerator *enumerator)\n>  \t * 1) Link enable/disable cannot be done at start/stop time as video\n>  \t * devices needs to be linked first before format can be configured on\n>  \t * them.\n> -\t * 2) As link enable has to be done at the least in configureStreams,\n> +\t * 2) As link enable has to be done at the least in configure(),\n>  \t * before configuring formats, the only place where to disable links\n>  \t * would be 'stop()', but the Camera class state machine allows\n> -\t * start()<->stop() sequences without any streamConfiguration() in\n> -\t * between.\n> +\t * start()<->stop() sequences without any configure() in between.\n>  \t *\n>  \t * As of now, disable all links in the media graph at 'match()' time,\n>  \t * to allow testing different cameras in different test applications\n> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> index b395405c9ddb..caf0abe57c42 100644\n> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> @@ -34,9 +34,9 @@ public:\n>  \tPipelineHandlerRkISP1(CameraManager *manager);\n>  \t~PipelineHandlerRkISP1();\n>  \n> -\tCameraConfiguration streamConfiguration(Camera *camera,\n> +\tCameraConfiguration generateConfiguration(Camera *camera,\n>  \t\tconst std::vector<StreamUsage> &usages) override;\n> -\tint configureStreams(Camera *camera,\n> +\tint configure(Camera *camera,\n>  \t\tconst CameraConfiguration &config) override;\n>  \n>  \tint allocateBuffers(Camera *camera,\n> @@ -106,7 +106,7 @@ PipelineHandlerRkISP1::~PipelineHandlerRkISP1()\n>   * Pipeline Operations\n>   */\n>  \n> -CameraConfiguration PipelineHandlerRkISP1::streamConfiguration(Camera *camera,\n> +CameraConfiguration PipelineHandlerRkISP1::generateConfiguration(Camera *camera,\n>  \tconst std::vector<StreamUsage> &usages)\n>  {\n>  \tRkISP1CameraData *data = cameraData(camera);\n> @@ -122,8 +122,8 @@ CameraConfiguration PipelineHandlerRkISP1::streamConfiguration(Camera *camera,\n>  \treturn config;\n>  }\n>  \n> -int PipelineHandlerRkISP1::configureStreams(Camera *camera,\n> -\t\t\t\t\t    const CameraConfiguration &config)\n> +int PipelineHandlerRkISP1::configure(Camera *camera,\n> +\t\t\t\t     const CameraConfiguration &config)\n>  {\n>  \tRkISP1CameraData *data = cameraData(camera);\n>  \tconst StreamConfiguration &cfg = config[&data->stream_];\n> diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp\n> index 351712cfdc69..118b97457d2a 100644\n> --- a/src/libcamera/pipeline/uvcvideo.cpp\n> +++ b/src/libcamera/pipeline/uvcvideo.cpp\n> @@ -26,10 +26,10 @@ public:\n>  \tPipelineHandlerUVC(CameraManager *manager);\n>  \n>  \tCameraConfiguration\n> -\tstreamConfiguration(Camera *camera,\n> -\t\t\t    const std::vector<StreamUsage> &usages) override;\n> -\tint configureStreams(Camera *camera,\n> -\t\t\t     const CameraConfiguration &config) override;\n> +\tgenerateConfiguration(Camera *camera,\n> +\t\t\t      const std::vector<StreamUsage> &usages) override;\n> +\tint configure(Camera *camera,\n> +\t\t      const CameraConfiguration &config) override;\n>  \n>  \tint allocateBuffers(Camera *camera,\n>  \t\t\t    const std::set<Stream *> &streams) override;\n> @@ -76,8 +76,8 @@ PipelineHandlerUVC::PipelineHandlerUVC(CameraManager *manager)\n>  }\n>  \n>  CameraConfiguration\n> -PipelineHandlerUVC::streamConfiguration(Camera *camera,\n> -\t\t\t\t\tconst std::vector<StreamUsage> &usages)\n> +PipelineHandlerUVC::generateConfiguration(Camera *camera,\n> +\t\t\t\t\t  const std::vector<StreamUsage> &usages)\n>  {\n>  \tUVCCameraData *data = cameraData(camera);\n>  \tCameraConfiguration config;\n> @@ -92,8 +92,8 @@ PipelineHandlerUVC::streamConfiguration(Camera *camera,\n>  \treturn config;\n>  }\n>  \n> -int PipelineHandlerUVC::configureStreams(Camera *camera,\n> -\t\t\t\t\t const CameraConfiguration &config)\n> +int PipelineHandlerUVC::configure(Camera *camera,\n> +\t\t\t\t  const CameraConfiguration &config)\n>  {\n>  \tUVCCameraData *data = cameraData(camera);\n>  \tconst StreamConfiguration *cfg = &config[&data->stream_];\n> diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp\n> index 737d6df67def..74959581a7ef 100644\n> --- a/src/libcamera/pipeline/vimc.cpp\n> +++ b/src/libcamera/pipeline/vimc.cpp\n> @@ -26,10 +26,10 @@ public:\n>  \tPipelineHandlerVimc(CameraManager *manager);\n>  \n>  \tCameraConfiguration\n> -\tstreamConfiguration(Camera *camera,\n> -\t\t\t    const std::vector<StreamUsage> &usages) override;\n> -\tint configureStreams(Camera *camera,\n> -\t\t\t     const CameraConfiguration &config) override;\n> +\tgenerateConfiguration(Camera *camera,\n> +\t\t\t      const std::vector<StreamUsage> &usages) override;\n> +\tint configure(Camera *camera,\n> +\t\t      const CameraConfiguration &config) override;\n>  \n>  \tint allocateBuffers(Camera *camera,\n>  \t\t\t    const std::set<Stream *> &streams) override;\n> @@ -76,8 +76,8 @@ PipelineHandlerVimc::PipelineHandlerVimc(CameraManager *manager)\n>  }\n>  \n>  CameraConfiguration\n> -PipelineHandlerVimc::streamConfiguration(Camera *camera,\n> -\t\t\t\t\t const std::vector<StreamUsage> &usages)\n> +PipelineHandlerVimc::generateConfiguration(Camera *camera,\n> +\t\t\t\t\t   const std::vector<StreamUsage> &usages)\n>  {\n>  \tVimcCameraData *data = cameraData(camera);\n>  \tCameraConfiguration config;\n> @@ -92,8 +92,8 @@ PipelineHandlerVimc::streamConfiguration(Camera *camera,\n>  \treturn config;\n>  }\n>  \n> -int PipelineHandlerVimc::configureStreams(Camera *camera,\n> -\t\t\t\t\t  const CameraConfiguration &config)\n> +int PipelineHandlerVimc::configure(Camera *camera,\n> +\t\t\t\t   const CameraConfiguration &config)\n>  {\n>  \tVimcCameraData *data = cameraData(camera);\n>  \tconst StreamConfiguration *cfg = &config[&data->stream_];\n> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\n> index 1eeaf4bb6dae..b9ac64328f1d 100644\n> --- a/src/libcamera/pipeline_handler.cpp\n> +++ b/src/libcamera/pipeline_handler.cpp\n> @@ -218,26 +218,26 @@ void PipelineHandler::unlock()\n>  }\n>  \n>  /**\n> - * \\fn PipelineHandler::streamConfiguration()\n> - * \\brief Retrieve a group of stream configurations for a specified camera\n> - * \\param[in] camera The camera to fetch default configuration from\n> + * \\fn PipelineHandler::generateConfiguration()\n> + * \\brief Generate a camera configuration for a specified camera\n> + * \\param[in] camera The camera to generate a default configuration for\n>   * \\param[in] usages A list of stream usages\n>   *\n> - * Retrieve the species camera's default configuration for a specified group of\n> - * use-cases. The caller shall populate the \\a usages array with the use-cases it\n> - * wishes to fetch the default configuration for. The map of streams and\n> - * configurations returned can then be examined by the caller to learn about\n> - * the default parameters for the specified streams.\n> + * Generate a default configuration for the \\a camera for a specified group of\n> + * use-cases. The caller shall populate the \\a usages array with the use-cases\n> + * it wishes to fetch the default configuration for. The returned configuration\n> + * can then be examined by the caller to learn about the selected streams and\n> + * their default parameters.\n>   *\n> - * The intended companion to this is \\a configureStreams() which can be used to\n> - * change the group of streams parameters.\n> + * The intended companion to this is \\a configure() which can be used to change\n> + * the group of streams parameters.\n>   *\n>   * \\return A valid CameraConfiguration if the requested usages can be satisfied,\n>   * or a invalid configuration otherwise\n>   */\n>  \n>  /**\n> - * \\fn PipelineHandler::configureStreams()\n> + * \\fn PipelineHandler::configure()\n>   * \\brief Configure a group of streams for capture\n>   * \\param[in] camera The camera to configure\n>   * \\param[in] config The camera configurations to setup\n> @@ -293,9 +293,9 @@ void PipelineHandler::unlock()\n>   * \\param[in] camera The camera to start\n>   *\n>   * Start the group of streams that have been configured for capture by\n> - * \\a configureStreams(). The intended caller of this method is the Camera\n> - * class which will in turn be called from the application to indicate that it\n> - * has configured the streams and is ready to capture.\n> + * \\a configure(). The intended caller of this method is the Camera class which\n> + * will in turn be called from the application to indicate that it has\n> + * configured the streams and is ready to capture.\n>   *\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> diff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp\n> index 4ff296e3a75b..af259510b19c 100644\n> --- a/src/libcamera/stream.cpp\n> +++ b/src/libcamera/stream.cpp\n> @@ -218,9 +218,8 @@ Stream::Stream()\n>   * \\brief The stream configuration\n>   *\n>   * The configuration for the stream is set by any successful call to\n> - * Camera::configureStreams() that includes the stream, and remains valid until\n> - * the next call to Camera::configureStreams() regardless of if it includes the\n> - * stream.\n> + * Camera::configure() that includes the stream, and remains valid until the\n> + * next call to Camera::configure() regardless of if it includes the stream.\n>   */\n>  \n>  } /* namespace libcamera */\n> diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp\n> index ee06d751672b..c91b82727ec6 100644\n> --- a/src/qcam/main_window.cpp\n> +++ b/src/qcam/main_window.cpp\n> @@ -97,9 +97,9 @@ int MainWindow::startCapture()\n>  {\n>  \tint ret;\n>  \n> -\tconfig_ = camera_->streamConfiguration({ Stream::VideoRecording() });\n> +\tconfig_ = camera_->generateConfiguration({ Stream::VideoRecording() });\n>  \tStream *stream = config_.front();\n> -\tret = camera_->configureStreams(config_);\n> +\tret = camera_->configure(config_);\n>  \tif (ret < 0) {\n>  \t\tstd::cout << \"Failed to configure camera\" << std::endl;\n>  \t\treturn ret;\n> diff --git a/src/qcam/main_window.h b/src/qcam/main_window.h\n> index 9b31da2bf4b7..143b5b08a5a0 100644\n> --- a/src/qcam/main_window.h\n> +++ b/src/qcam/main_window.h\n> @@ -35,7 +35,6 @@ private:\n>  \tint openCamera();\n>  \n>  \tint startCapture();\n> -\tint configureStreams(Camera *camera, std::set<Stream *> &streams);\n>  \tvoid stopCapture();\n>  \n>  \tvoid requestComplete(Request *request,\n> diff --git a/test/camera/capture.cpp b/test/camera/capture.cpp\n> index 0101cc94e665..bc3a4d6cb9f2 100644\n> --- a/test/camera/capture.cpp\n> +++ b/test/camera/capture.cpp\n> @@ -43,7 +43,7 @@ protected:\n>  \tint run()\n>  \t{\n>  \t\tCameraConfiguration config =\n> -\t\t\tcamera_->streamConfiguration({ Stream::VideoRecording() });\n> +\t\t\tcamera_->generateConfiguration({ Stream::VideoRecording() });\n>  \t\tStream *stream = config.front();\n>  \t\tStreamConfiguration *cfg = &config[stream];\n>  \n> @@ -57,7 +57,7 @@ protected:\n>  \t\t\treturn TestFail;\n>  \t\t}\n>  \n> -\t\tif (camera_->configureStreams(config)) {\n> +\t\tif (camera_->configure(config)) {\n>  \t\t\tcout << \"Failed to set default configuration\" << endl;\n>  \t\t\treturn TestFail;\n>  \t\t}\n> diff --git a/test/camera/configuration_default.cpp b/test/camera/configuration_default.cpp\n> index 2a10ea507a67..340b5f58f04c 100644\n> --- a/test/camera/configuration_default.cpp\n> +++ b/test/camera/configuration_default.cpp\n> @@ -21,7 +21,7 @@ protected:\n>  \t\tCameraConfiguration config;\n>  \n>  \t\t/* Test asking for configuration for a video stream. */\n> -\t\tconfig = camera_->streamConfiguration({ Stream::VideoRecording() });\n> +\t\tconfig = camera_->generateConfiguration({ Stream::VideoRecording() });\n>  \t\tif (!config.isValid()) {\n>  \t\t\tcout << \"Default configuration invalid\" << endl;\n>  \t\t\treturn TestFail;\n> @@ -31,7 +31,7 @@ protected:\n>  \t\t * Test that asking for configuration for an empty array of\n>  \t\t * stream usages returns an empty list of configurations.\n>  \t\t */\n> -\t\tconfig = camera_->streamConfiguration({});\n> +\t\tconfig = camera_->generateConfiguration({});\n>  \t\tif (config.isValid()) {\n>  \t\t\tcout << \"Failed to retrieve configuration for empty usage list\"\n>  \t\t\t     << endl;\n> diff --git a/test/camera/configuration_set.cpp b/test/camera/configuration_set.cpp\n> index ca41ed689511..24d5ca6690b7 100644\n> --- a/test/camera/configuration_set.cpp\n> +++ b/test/camera/configuration_set.cpp\n> @@ -19,7 +19,7 @@ protected:\n>  \tint run()\n>  \t{\n>  \t\tCameraConfiguration config =\n> -\t\t\tcamera_->streamConfiguration({ Stream::VideoRecording() });\n> +\t\t\tcamera_->generateConfiguration({ Stream::VideoRecording() });\n>  \t\tStreamConfiguration *cfg = &config[config.front()];\n>  \n>  \t\tif (!config.isValid()) {\n> @@ -33,7 +33,7 @@ protected:\n>  \t\t}\n>  \n>  \t\t/* Test that setting the default configuration works. */\n> -\t\tif (camera_->configureStreams(config)) {\n> +\t\tif (camera_->configure(config)) {\n>  \t\t\tcout << \"Failed to set default configuration\" << endl;\n>  \t\t\treturn TestFail;\n>  \t\t}\n> @@ -48,7 +48,7 @@ protected:\n>  \t\t\treturn TestFail;\n>  \t\t}\n>  \n> -\t\tif (!camera_->configureStreams(config)) {\n> +\t\tif (!camera_->configure(config)) {\n>  \t\t\tcout << \"Setting configuration on a camera not acquired succeeded when it should have failed\"\n>  \t\t\t     << endl;\n>  \t\t\treturn TestFail;\n> @@ -66,7 +66,7 @@ protected:\n>  \t\t */\n>  \t\tcfg->size.width *= 2;\n>  \t\tcfg->size.height *= 2;\n> -\t\tif (camera_->configureStreams(config)) {\n> +\t\tif (camera_->configure(config)) {\n>  \t\t\tcout << \"Failed to set modified configuration\" << endl;\n>  \t\t\treturn TestFail;\n>  \t\t}\n> @@ -75,7 +75,7 @@ protected:\n>  \t\t * Test that setting an invalid configuration fails.\n>  \t\t */\n>  \t\tcfg->size = { 0, 0 };\n> -\t\tif (!camera_->configureStreams(config)) {\n> +\t\tif (!camera_->configure(config)) {\n>  \t\t\tcout << \"Invalid configuration incorrectly accepted\" << endl;\n>  \t\t\treturn TestFail;\n>  \t\t}\n> diff --git a/test/camera/statemachine.cpp b/test/camera/statemachine.cpp\n> index 8ae93bee7ca1..bd2e61ff2939 100644\n> --- a/test/camera/statemachine.cpp\n> +++ b/test/camera/statemachine.cpp\n> @@ -19,7 +19,7 @@ protected:\n>  \tint testAvailable()\n>  \t{\n>  \t\t/* Test operations which should fail. */\n> -\t\tif (camera_->configureStreams(defconf_) != -EACCES)\n> +\t\tif (camera_->configure(defconf_) != -EACCES)\n>  \t\t\treturn TestFail;\n>  \n>  \t\tif (camera_->allocateBuffers() != -EACCES)\n> @@ -84,7 +84,7 @@ protected:\n>  \t\tif (camera_->acquire())\n>  \t\t\treturn TestFail;\n>  \n> -\t\tif (camera_->configureStreams(defconf_))\n> +\t\tif (camera_->configure(defconf_))\n>  \t\t\treturn TestFail;\n>  \n>  \t\treturn TestPass;\n> @@ -113,7 +113,7 @@ protected:\n>  \t\t\treturn TestFail;\n>  \n>  \t\t/* Test operations which should pass. */\n> -\t\tif (camera_->configureStreams(defconf_))\n> +\t\tif (camera_->configure(defconf_))\n>  \t\t\treturn TestFail;\n>  \n>  \t\t/* Test valid state transitions, end in Prepared state. */\n> @@ -123,7 +123,7 @@ protected:\n>  \t\tif (camera_->acquire())\n>  \t\t\treturn TestFail;\n>  \n> -\t\tif (camera_->configureStreams(defconf_))\n> +\t\tif (camera_->configure(defconf_))\n>  \t\t\treturn TestFail;\n>  \n>  \t\tif (camera_->allocateBuffers())\n> @@ -141,7 +141,7 @@ protected:\n>  \t\tif (camera_->release() != -EBUSY)\n>  \t\t\treturn TestFail;\n>  \n> -\t\tif (camera_->configureStreams(defconf_) != -EACCES)\n> +\t\tif (camera_->configure(defconf_) != -EACCES)\n>  \t\t\treturn TestFail;\n>  \n>  \t\tif (camera_->allocateBuffers() != -EACCES)\n> @@ -172,7 +172,7 @@ protected:\n>  \t\tif (camera_->acquire())\n>  \t\t\treturn TestFail;\n>  \n> -\t\tif (camera_->configureStreams(defconf_))\n> +\t\tif (camera_->configure(defconf_))\n>  \t\t\treturn TestFail;\n>  \n>  \t\tif (camera_->allocateBuffers())\n> @@ -193,7 +193,7 @@ protected:\n>  \t\tif (camera_->release() != -EBUSY)\n>  \t\t\treturn TestFail;\n>  \n> -\t\tif (camera_->configureStreams(defconf_) != -EACCES)\n> +\t\tif (camera_->configure(defconf_) != -EACCES)\n>  \t\t\treturn TestFail;\n>  \n>  \t\tif (camera_->allocateBuffers() != -EACCES)\n> @@ -235,7 +235,7 @@ protected:\n>  \n>  \tint run()\n>  \t{\n> -\t\tdefconf_ = camera_->streamConfiguration({ Stream::VideoRecording() });\n> +\t\tdefconf_ = camera_->generateConfiguration({ Stream::VideoRecording() });\n>  \n>  \t\tif (testAvailable() != TestPass) {\n>  \t\t\tcout << \"State machine in Available state failed\" << endl;\n> -- \n> Regards,\n> \n> Laurent Pinchart\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["from mail-lf1-x143.google.com (mail-lf1-x143.google.com\n\t[IPv6:2a00:1450:4864:20::143])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CEE2460C02\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 18 May 2019 17:40:37 +0200 (CEST)","by mail-lf1-x143.google.com with SMTP id d8so7361124lfb.8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 18 May 2019 08:40:37 -0700 (PDT)","from localhost (89-233-230-99.cust.bredband2.com. [89.233.230.99])\n\tby smtp.gmail.com with ESMTPSA id\n\tr11sm2430145ljd.91.2019.05.18.08.40.35\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tSat, 18 May 2019 08:40:35 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to\n\t:user-agent; bh=d7s7WysyHiZbAFbtKh4Vu4v8C9zQnRBxDhptAmXo/1E=;\n\tb=r0p83IERMEcTAmxSaRj+dsL4t3GyVhCtcEZCXbugVPjVn3Q1+E2u+QsvO/TdPmVp6o\n\tx6ayv7Ggb651t5zEGduQEuIH93nwm32RpH8Ks8kQFxtS4orGOvx+RNl6cLjG1dZqNEJP\n\twddZCGxXSVNaIzBL1uKoR5j+vfSTa2KOqz5+oB5vscowJ0TLIH8WMf2j0hpRiRXSPvgA\n\t5Aexjef+EeNR2SIQjNcEHxbQ5QdntmCACOVQzVWyQvOmPF9DZHQQUqroLo7uSfMenH00\n\t9P89unAxfTX897c8T1DdSgRR622iiOYDauvuwSE70B2LMt7vD03nfwZOF77347kW9aut\n\tdSYA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to:user-agent;\n\tbh=d7s7WysyHiZbAFbtKh4Vu4v8C9zQnRBxDhptAmXo/1E=;\n\tb=gYuLjts/QZFmmwsgsbJ3uu/WDv3nEo1uW5zaNLp8y7eQaQGF0+kxjjI7vOWvdOzAQB\n\t4Fn2v0iRTWylQP54OKQghtKFPj5T02/pSLixjWS2JzM9CUYSB4pihekTg4n38mpFpD7P\n\tKXp5TuBn4iatoakydiorrYVdopsXMNccyh7NdB0mqNq0L0tcxDObal+/liXWcS0nUYZV\n\t3w3p5MEi6H7m7JRl+3HTyQZMoQjO34hIFJA9Cpv+5tHBFXQEOtqPRZeBaYfELQJYnW1I\n\t3VNpJfQdR2Zx/yhVmOV6KzuuKl1A06mVCxQmnIzPL7/v6CwuWnQHXXDSugjDotUJInA0\n\tHgzw==","X-Gm-Message-State":"APjAAAWkBLPsRiYlQ5C8x0VYaEUdQeW/rY9CLAtrU0XGBgFeG3K29arx\n\tQXOMtUt82L9lmhkGGHmCWaQltwcwMO4=","X-Google-Smtp-Source":"APXvYqwxgBGUen0O8sHCBS8tDh2WOS992BAUAfA049Nv8i6pyS7r1nqqXR5tiCYaWmZIDu8Zgdhrpw==","X-Received":"by 2002:ac2:43af:: with SMTP id\n\tt15mr21534432lfl.45.1558194037067; \n\tSat, 18 May 2019 08:40:37 -0700 (PDT)","Date":"Sat, 18 May 2019 17:40:35 +0200","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190518154034.GD25081@bigcity.dyn.berto.se>","References":"<20190517230621.24668-1-laurent.pinchart@ideasonboard.com>\n\t<20190517230621.24668-3-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20190517230621.24668-3-laurent.pinchart@ideasonboard.com>","User-Agent":"Mutt/1.11.3 (2019-02-01)","Subject":"Re: [libcamera-devel] [PATCH/RFC 02/12] libcamera: camera: Rename\n\tconfigureStreams() and streamConfiguration()","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Sat, 18 May 2019 15:40:38 -0000"}}]