From 12c856a10cb9c59ae97504ce0fcd9fdb044bdd14 Mon Sep 17 00:00:00 2001 From: Keuin Date: Thu, 15 Sep 2022 01:36:12 +0800 Subject: Use io.CopyN to utilize zero copy technique. --- recording/runner.go | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'recording/runner.go') diff --git a/recording/runner.go b/recording/runner.go index 7fdffac..47c6764 100644 --- a/recording/runner.go +++ b/recording/runner.go @@ -26,7 +26,6 @@ type TaskResult struct { Error error } -const kReadChunkSize = 1024 * 1024 const kSpecialExtName = "partial" var errLiveEnded = NewRecoverableTaskError("live is ended", nil) @@ -310,16 +309,9 @@ func record( defer func() { _ = file.Close() }() writeBufferSize := task.Download.DiskWriteBufferBytes - if writeBufferSize < kReadChunkSize { - writeBufferSize = kReadChunkSize - } - if mod := writeBufferSize % kReadChunkSize; mod != 0 { - writeBufferSize += kReadChunkSize - mod - } - writeBuffer := make([]byte, writeBufferSize) logger.Info("Write buffer size: %v byte", writeBufferSize) logger.Info("Recording live stream to file \"%v\"...", filePath) - err = bi.CopyLiveStream(ctx, task.RoomId, streamSource, file, writeBuffer, kReadChunkSize) + err = bi.CopyLiveStream(ctx, task.RoomId, streamSource, file, writeBufferSize) if errors.Is(err, context.Canceled) || err == nil { return err } -- cgit v1.2.3