mirror of
https://github.com/esphome/esphome.git
synced 2026-09-19 11:08:38 +00:00
Merge branch 'camera_listen' into integration
This commit is contained in:
@@ -45,7 +45,7 @@ class CameraImage;
|
||||
*/
|
||||
class CameraListener {
|
||||
public:
|
||||
virtual void on_camera_image(const std::shared_ptr<CameraImage> &image) = 0;
|
||||
virtual void on_camera_image(const std::shared_ptr<CameraImage> &image) {}
|
||||
virtual void on_stream_start() {}
|
||||
virtual void on_stream_stop() {}
|
||||
};
|
||||
@@ -102,7 +102,7 @@ struct CameraImageSpec {
|
||||
};
|
||||
|
||||
/** Abstract camera base class. Collaborates with API.
|
||||
* 1) API server starts and registers as a listener (add_image_listener)
|
||||
* 1) API server starts and registers as a listener (add_listener)
|
||||
* to receive new images from the camera.
|
||||
* 2) New API client connects and creates a new image reader (create_image_reader).
|
||||
* 3) API connection receives protobuf CameraImageRequest and calls request_image.
|
||||
|
||||
@@ -232,14 +232,12 @@ class ESP32CameraImageTrigger : public Trigger<CameraImageData>, public camera::
|
||||
class ESP32CameraStreamStartTrigger : public Trigger<>, public camera::CameraListener {
|
||||
public:
|
||||
explicit ESP32CameraStreamStartTrigger(ESP32Camera *parent) { parent->add_listener(this); }
|
||||
void on_camera_image(const std::shared_ptr<camera::CameraImage> &image) override {}
|
||||
void on_stream_start() override { this->trigger(); }
|
||||
};
|
||||
|
||||
class ESP32CameraStreamStopTrigger : public Trigger<>, public camera::CameraListener {
|
||||
public:
|
||||
explicit ESP32CameraStreamStopTrigger(ESP32Camera *parent) { parent->add_listener(this); }
|
||||
void on_camera_image(const std::shared_ptr<camera::CameraImage> &image) override {}
|
||||
void on_stream_stop() override { this->trigger(); }
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user