if frame size isn't divisable by 2 then use JPEG instead.
This commit is contained in:
@@ -536,6 +536,10 @@ func buildFrame(img *image.RGBA, display int, quality int) (wire.Frame, time.Dur
|
||||
codec := blockCodec()
|
||||
|
||||
if codec == "h264" {
|
||||
if width%2 != 0 || height%2 != 0 {
|
||||
log.Printf("capture: h264 skipped for odd dimensions (%dx%d), falling back to jpeg", width, height)
|
||||
codec = "jpeg"
|
||||
} else {
|
||||
h264Bytes, err := encodeH264Frame(img)
|
||||
if err == nil && len(h264Bytes) > 0 {
|
||||
prevMu.Lock()
|
||||
@@ -555,6 +559,7 @@ func buildFrame(img *image.RGBA, display int, quality int) (wire.Frame, time.Dur
|
||||
})
|
||||
codec = "jpeg"
|
||||
}
|
||||
}
|
||||
|
||||
if !enableBlocks {
|
||||
jpegBytes, err := encodeJPEG(img, quality)
|
||||
@@ -636,6 +641,10 @@ func buildFrameHVNC(img *image.RGBA, display int, quality int) (wire.Frame, time
|
||||
|
||||
now := time.Now()
|
||||
if codec == "h264" {
|
||||
if width%2 != 0 || height%2 != 0 {
|
||||
log.Printf("hvnc capture: h264 skipped for odd dimensions (%dx%d), falling back to jpeg", width, height)
|
||||
codec = "jpeg"
|
||||
} else {
|
||||
h264Bytes, err := encodeH264Frame(img)
|
||||
if err == nil && len(h264Bytes) > 0 {
|
||||
prevMu.Lock()
|
||||
@@ -656,6 +665,7 @@ func buildFrameHVNC(img *image.RGBA, display int, quality int) (wire.Frame, time
|
||||
})
|
||||
codec = "jpeg"
|
||||
}
|
||||
}
|
||||
|
||||
prevMu.Lock()
|
||||
pf := prevFrame
|
||||
|
||||
Reference in New Issue
Block a user