Move reader

This commit is contained in:
Milan Nikolic
2025-06-13 21:20:11 +02:00
parent 933b5eef22
commit f556285ad5
7 changed files with 13 additions and 18 deletions

View File

@@ -1,4 +1,3 @@
// Package handlers.
package handlers
import (

View File

@@ -1,3 +1,4 @@
// Package handlers provides HTTP handlers for the cam2ip application.
package handlers
import (

View File

@@ -5,16 +5,15 @@ import (
"net/http"
"github.com/gen2brain/cam2ip/image"
"github.com/gen2brain/cam2ip/reader"
)
// JPEG handler.
type JPEG struct {
reader reader.ImageReader
reader ImageReader
}
// NewJPEG returns new JPEG handler.
func NewJPEG(reader reader.ImageReader) *JPEG {
func NewJPEG(reader ImageReader) *JPEG {
return &JPEG{reader}
}

View File

@@ -1,25 +1,24 @@
// Package handlers.
package handlers
import (
"fmt"
"github.com/gen2brain/cam2ip/image"
"github.com/gen2brain/cam2ip/reader"
"log"
"mime/multipart"
"net/http"
"net/textproto"
"time"
"github.com/gen2brain/cam2ip/image"
)
// MJPEG handler.
type MJPEG struct {
reader reader.ImageReader
reader ImageReader
delay int
}
// NewMJPEG returns new MJPEG handler.
func NewMJPEG(reader reader.ImageReader, delay int) *MJPEG {
func NewMJPEG(reader ImageReader, delay int) *MJPEG {
return &MJPEG{reader, delay}
}

14
handlers/reader.go Normal file
View File

@@ -0,0 +1,14 @@
package handlers
import (
"image"
)
// ImageReader interface
type ImageReader interface {
// Read reads next frame from camera/video and returns image.
Read() (img image.Image, err error)
// Close closes camera/video.
Close() error
}

View File

@@ -10,17 +10,16 @@ import (
"github.com/coder/websocket"
"github.com/gen2brain/cam2ip/image"
"github.com/gen2brain/cam2ip/reader"
)
// Socket handler.
type Socket struct {
reader reader.ImageReader
reader ImageReader
delay int
}
// NewSocket returns new socket handler.
func NewSocket(reader reader.ImageReader, delay int) *Socket {
func NewSocket(reader ImageReader, delay int) *Socket {
return &Socket{reader, delay}
}