From a9141146fb6b3d5c9fff13960297255189b7d0bd Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Mon, 30 Oct 2023 11:15:20 +0100 Subject: [PATCH] Remove LazyReadSeeker --- .../pkg/preprocessor/lazyReadSeeker.go | 60 ------------------- .../pkg/preprocessor/preprocessor.go | 10 ++-- 2 files changed, 6 insertions(+), 64 deletions(-) delete mode 100644 services/thumbnails/pkg/preprocessor/lazyReadSeeker.go diff --git a/services/thumbnails/pkg/preprocessor/lazyReadSeeker.go b/services/thumbnails/pkg/preprocessor/lazyReadSeeker.go deleted file mode 100644 index a6fd3de8e1..0000000000 --- a/services/thumbnails/pkg/preprocessor/lazyReadSeeker.go +++ /dev/null @@ -1,60 +0,0 @@ -package preprocessor - -import ( - "io" - - "github.com/pkg/errors" -) - -type LazyReadSeeker struct { - reader io.Reader - buffer []byte - position int64 -} - -func NewLazyReadSeeker(r io.Reader) *LazyReadSeeker { - return &LazyReadSeeker{ - reader: r, - buffer: make([]byte, 0), - } -} - -func (l *LazyReadSeeker) Read(p []byte) (int, error) { - // Fill buffer if necessary - if l.position >= int64(len(l.buffer)) { - temp := make([]byte, len(p)) - n, err := l.reader.Read(temp) - if err != nil && err != io.EOF { - return 0, err - } - if n == 0 { - return 0, io.EOF - } - l.buffer = append(l.buffer, temp[:n]...) - } - - // Read from buffer - n := copy(p, l.buffer[l.position:]) - l.position += int64(n) - - return n, nil -} - -func (l *LazyReadSeeker) Seek(offset int64, whence int) (int64, error) { - var newPos int64 - switch whence { - case io.SeekStart: - newPos = offset - case io.SeekCurrent: - newPos = l.position + offset - default: - return 0, errors.New("seekEnd is not supported") - } - - if newPos < 0 { - return 0, errors.New("negative position is invalid") - } - - l.position = newPos - return l.position, nil -} diff --git a/services/thumbnails/pkg/preprocessor/preprocessor.go b/services/thumbnails/pkg/preprocessor/preprocessor.go index c6b4bae459..2f6346ec74 100644 --- a/services/thumbnails/pkg/preprocessor/preprocessor.go +++ b/services/thumbnails/pkg/preprocessor/preprocessor.go @@ -7,7 +7,6 @@ import ( "image/draw" "image/gif" "io" - "log" "math" "mime" "strings" @@ -48,10 +47,13 @@ func (i GifDecoder) Convert(r io.Reader) (interface{}, error) { type AudioDecoder struct{} func (i AudioDecoder) Convert(r io.Reader) (interface{}, error) { - readSeeker := NewLazyReadSeeker(r) - m, err := tag.ReadFrom(readSeeker) + b, err := io.ReadAll(r) if err != nil { - log.Fatal(err) + return nil, err + } + m, err := tag.ReadFrom(bytes.NewReader(b)) + if err != nil { + return nil, err } picture := m.Picture()