disable auto key frames and make fullscreen not buns
This commit is contained in:
@@ -741,7 +741,7 @@ func avgBytes(b int64, frames int64) float64 {
|
||||
const (
|
||||
blockSize = 64
|
||||
maxBlockRatio = 0.40
|
||||
keyframeEvery = 5 * time.Second
|
||||
keyframeEvery = 0 * time.Second
|
||||
enableBlocks = true
|
||||
samplingRate = 3
|
||||
minBlockSize = 32
|
||||
@@ -926,7 +926,7 @@ func buildFramebackstage(img *image.RGBA, display int, quality int) (wire.Frame,
|
||||
pf := backstagePrevFrame
|
||||
backstagePrevMu.Unlock()
|
||||
|
||||
if pf == nil || pf.w != width || pf.h != height || now.Sub(time.Unix(0, backstageLastKeyframe.Load())) > keyframeEvery {
|
||||
if pf == nil || pf.w != width || pf.h != height || (keyframeEvery > 0 && now.Sub(time.Unix(0, backstageLastKeyframe.Load())) > keyframeEvery) {
|
||||
jpegBytes, err := encodeJPEG(img, quality)
|
||||
backstagePrevMu.Lock()
|
||||
copyPrevbackstage(img)
|
||||
|
||||
@@ -13,7 +13,7 @@ func directVideoKeyframeDue(requested bool, nowNs, lastKeyframeNs int64) bool {
|
||||
if requested || lastKeyframeNs == 0 {
|
||||
return true
|
||||
}
|
||||
return time.Duration(nowNs-lastKeyframeNs) >= keyframeEvery
|
||||
return keyframeEvery > 0 && time.Duration(nowNs-lastKeyframeNs) >= keyframeEvery
|
||||
}
|
||||
|
||||
func tryBuildDirectH264Frame(display int) (wire.Frame, time.Duration, time.Duration, bool, error) {
|
||||
|
||||
@@ -93,7 +93,6 @@ func TestCaptureDisplayDXGI(t *testing.T) {
|
||||
|
||||
func TestDirectVideoKeyframeDue(t *testing.T) {
|
||||
now := (10 * time.Second).Nanoseconds()
|
||||
last := now - keyframeEvery.Nanoseconds()
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
@@ -103,8 +102,7 @@ func TestDirectVideoKeyframeDue(t *testing.T) {
|
||||
}{
|
||||
{name: "explicit request", requested: true, last: now, want: true},
|
||||
{name: "first frame", last: 0, want: true},
|
||||
{name: "before periodic interval", last: last + 1, want: false},
|
||||
{name: "at periodic interval", last: last, want: true},
|
||||
{name: "periodic keyframes disabled", last: now - (30 * time.Second).Nanoseconds(), want: false},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
|
||||
Reference in New Issue
Block a user