diff --git a/include/libcamera/framebuffer.h b/include/libcamera/framebuffer.h
index 723525d05..c633d22a6 100644
--- a/include/libcamera/framebuffer.h
+++ b/include/libcamera/framebuffer.h
@@ -58,7 +58,7 @@ public:
 		unsigned int length;
 	};
 
-	FrameBuffer(Span<const Plane> planes, unsigned int cookie = 0);
+	FrameBuffer(Span<const Plane> planes, uint64_t cookie = 0);
 	FrameBuffer(std::unique_ptr<Private> d);
 	virtual ~FrameBuffer() {}
 
diff --git a/src/libcamera/framebuffer.cpp b/src/libcamera/framebuffer.cpp
index 765dab95a..d61319030 100644
--- a/src/libcamera/framebuffer.cpp
+++ b/src/libcamera/framebuffer.cpp
@@ -315,7 +315,7 @@ ino_t fileDescriptorInode(const SharedFD &fd)
  * \param[in] planes The frame memory planes
  * \param[in] cookie Cookie
  */
-FrameBuffer::FrameBuffer(Span<const Plane> planes, unsigned int cookie)
+FrameBuffer::FrameBuffer(Span<const Plane> planes, uint64_t cookie)
 	: FrameBuffer(std::make_unique<Private>(planes, cookie))
 {
 }
