diff --git a/include/libcamera/stream.h b/include/libcamera/stream.h
index 395148e45d342d92..a3c692c347340382 100644
--- a/include/libcamera/stream.h
+++ b/include/libcamera/stream.h
@@ -7,7 +7,6 @@
 #ifndef __LIBCAMERA_STREAM_H__
 #define __LIBCAMERA_STREAM_H__
 
-#include <errno.h>
 #include <map>
 #include <memory>
 #include <string>
@@ -89,13 +88,10 @@ protected:
 	friend class Camera;
 
 	virtual int allocateBuffers(const StreamConfiguration &config,
-				    std::vector<FrameBuffer *> *buffers)
-	{
-		return -EINVAL;
-	}
-	virtual void releaseBuffers() { return; }
-	virtual int start() { return -EINVAL; }
-	virtual void stop() { return; }
+				    std::vector<FrameBuffer *> *buffers) = 0;
+	virtual void releaseBuffers() = 0;
+	virtual int start() = 0;
+	virtual void stop() = 0;
 
 	int mapBuffer(const Buffer *buffer);
 	void unmapBuffer(const Buffer *buffer);
