gst: libcamerasrc: Implement initial streaming

With this patch, the element is now able to push buffers to the next
element in the graph. The buffers are currently missing any metadata
like timestamp, sequence number. This will be added in the next commit.

Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Nicolas Dufresne
2020-01-27 17:46:22 -05:00
committed by Laurent Pinchart
parent 5d6db0936f
commit d1d1348228
3 changed files with 202 additions and 1 deletions
+9
View File
@@ -19,6 +19,7 @@ struct _GstLibcameraPad {
StreamRole role;
GstLibcameraPool *pool;
GQueue pending_buffers;
GstClockTime latency;
};
enum {
@@ -164,3 +165,11 @@ gst_libcamera_pad_push_pending(GstPad *pad)
return gst_pad_push(pad, buffer);
}
bool
gst_libcamera_pad_has_pending(GstPad *pad)
{
auto *self = GST_LIBCAMERA_PAD(pad);
GLibLocker lock(GST_OBJECT(self));
return self->pending_buffers.length > 0;
}