From b7a8e15b418023fe0c447cae62fbbf7d43984e10 Mon Sep 17 00:00:00 2001 From: giongto35 Date: Thu, 4 Apr 2019 02:58:27 +0800 Subject: [PATCH] Clean code --- main.go | 5 +-- screenshot/screenshot_test.go | 13 ------ ui/director.go | 4 -- util/roms.go | 52 ------------------------ screenshot/screenshot.go => util/util.go | 32 +-------------- webrtc/webrtc.go | 7 +--- 6 files changed, 5 insertions(+), 108 deletions(-) delete mode 100644 screenshot/screenshot_test.go delete mode 100644 util/roms.go rename screenshot/screenshot.go => util/util.go (68%) diff --git a/main.go b/main.go index a11a6948..adc2be7b 100644 --- a/main.go +++ b/main.go @@ -8,8 +8,8 @@ import ( "net/http" "time" - "github.com/giongto35/game-online/screenshot" "github.com/giongto35/game-online/ui" + "github.com/giongto35/game-online/util" "github.com/giongto35/game-online/webrtc" "github.com/gorilla/mux" ) @@ -69,8 +69,7 @@ func postSession(w http.ResponseWriter, r *http.Request) { func screenshotLoop(imageChannel chan *image.RGBA) { for image := range imageChannel { if webRTC.IsConnected() { - //rgbaImg := randomImage(width, height) - yuv := screenshot.RgbaToYuv(image) + yuv := util.RgbaToYuv(image) webRTC.ImageChannel <- yuv } time.Sleep(10 * time.Millisecond) diff --git a/screenshot/screenshot_test.go b/screenshot/screenshot_test.go deleted file mode 100644 index fc4296a8..00000000 --- a/screenshot/screenshot_test.go +++ /dev/null @@ -1,13 +0,0 @@ -package screenshot - -import ( - "fmt" - "testing" -) - -func TestScreenshotToYuv(t *testing.T) { - w, h := GetScreenSize() - rgbaImg := GetScreenshot(0, 0, w, h, w, h) - yuv := RgbaToYuv(rgbaImg) - fmt.Println("yuv len", len(yuv)) -} diff --git a/ui/director.go b/ui/director.go index 08fcf3f2..88fba3aa 100644 --- a/ui/director.go +++ b/ui/director.go @@ -1,7 +1,6 @@ package ui import ( - "fmt" "image" "log" "time" @@ -45,11 +44,8 @@ func (d *Director) SetView(view View) { func (d *Director) Step() { //gl.Clear(gl.COLOR_BUFFER_BIT) timestamp := float64(time.Now().Nanosecond()) / float64(time.Second) - fmt.Println("Time stamp", timestamp) dt := timestamp - d.timestamp - fmt.Println("dt", dt) d.timestamp = timestamp - fmt.Println("view", d.view) if d.view != nil { d.view.Update(timestamp, dt) } diff --git a/util/roms.go b/util/roms.go deleted file mode 100644 index cade65d1..00000000 --- a/util/roms.go +++ /dev/null @@ -1,52 +0,0 @@ -package main - -import ( - "fmt" - "io/ioutil" - "log" - "os" - "path" - "strings" - - "github.com/giongto35/game-online/nes" -) - -func testRom(path string) (err error) { - defer func() { - if r := recover(); r != nil { - err = r.(error) - } - }() - console, err := nes.NewConsole(path) - if err != nil { - return err - } - console.StepSeconds(3) - return nil -} - -func main() { - args := os.Args[1:] - if len(args) != 1 { - log.Fatalln("Usage: go run util/roms.go roms_directory") - } - dir := args[0] - infos, err := ioutil.ReadDir(dir) - if err != nil { - panic(err) - } - for _, info := range infos { - name := info.Name() - if !strings.HasSuffix(name, ".nes") { - continue - } - name = path.Join(dir, name) - err := testRom(name) - if err == nil { - fmt.Println("OK ", name) - } else { - fmt.Println("FAIL", name) - fmt.Println(err) - } - } -} diff --git a/screenshot/screenshot.go b/util/util.go similarity index 68% rename from screenshot/screenshot.go rename to util/util.go index 3182c563..a218574d 100644 --- a/screenshot/screenshot.go +++ b/util/util.go @@ -1,11 +1,8 @@ -package screenshot +package util import ( "image" "unsafe" - - "github.com/kbinani/screenshot" - "github.com/nfnt/resize" ) // https://stackoverflow.com/questions/9465815/rgb-to-yuv420-algorithm-efficiency @@ -43,33 +40,6 @@ void rgba2yuv(void *destination, void *source, int width, int height, int stride */ import "C" -// GetScreenSize return screen size width and height -func GetScreenSize() (int, int) { - bounds := screenshot.GetDisplayBounds(0) - return bounds.Max.X, bounds.Max.Y -} - -// GetScreenshot return rgba format -func GetScreenshot(cx, cy, cw, ch, rw, rh int) *image.RGBA { - bounds := image.Rectangle{ - Min: image.Point{ - X: cx, - Y: cy, - }, - Max: image.Point{ - X: cx + cw, - Y: cy + ch, - }, - } - img, err := screenshot.CaptureRect(bounds) - - if err != nil { - panic(err) - } - img = resize.Resize(uint(rw), uint(rh), img, resize.Lanczos3).(*image.RGBA) - return img -} - // RgbaToYuv convert to yuv from rgba func RgbaToYuv(rgba *image.RGBA) []byte { w := rgba.Rect.Max.X diff --git a/webrtc/webrtc.go b/webrtc/webrtc.go index e52d9840..efce5274 100644 --- a/webrtc/webrtc.go +++ b/webrtc/webrtc.go @@ -233,11 +233,8 @@ func (w *WebRTC) startStreaming(vp8Track *webrtc.Track) { go func() { for i := 0; w.isConnected; i++ { bs := <-w.encoder.Output - if i%10 == 0 { - fmt.Println("On Frame", len(bs), i) - } - //if len(vp8Track.Samples) < cap(vp8Track.Samples) { - //vp8Track.Samples <- media.Sample{Data: bs, Samples: 1} + //if i%10 == 0 { + //fmt.Println("On Frame", len(bs), i) //} vp8Track.WriteSample(media.Sample{Data: bs, Samples: 1}) }