diff options
author | 2022-01-03 17:37:38 +0100 | |
---|---|---|
committer | 2022-01-03 17:37:38 +0100 | |
commit | 8abfa7751ab4b80ced391f8a7bd16c5e6c432fee (patch) | |
tree | 4bade7f50049435fae024f646d009b663a80c3de /internal/media/media.go | |
parent | add gruf worker pool (diff) | |
download | gotosocial-8abfa7751ab4b80ced391f8a7bd16c5e6c432fee.tar.xz |
return very partial image on first upload
Diffstat (limited to 'internal/media/media.go')
-rw-r--r-- | internal/media/media.go | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/internal/media/media.go b/internal/media/media.go index e96c37020..0bd196b27 100644 --- a/internal/media/media.go +++ b/internal/media/media.go @@ -1,7 +1,34 @@ package media -import gtsmodel "github.com/superseriousbusiness/gotosocial/internal/db/bundb/migrations/20211113114307_init" +import ( + "fmt" + "sync" + + "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" +) type Media struct { - Attachment *gtsmodel.MediaAttachment + mu sync.Mutex + attachment *gtsmodel.MediaAttachment + rawData []byte +} + +func (m *Media) Thumb() (*ImageMeta, error) { + m.mu.Lock() + thumb, err := deriveThumbnail(m.rawData, m.attachment.File.ContentType) + if err != nil { + return nil, fmt.Errorf("error deriving thumbnail: %s", err) + } + m.attachment.Blurhash = thumb.blurhash + aaaaaaaaaaaaaaaa +} + +func (m *Media) PreLoad() { + m.mu.Lock() + defer m.mu.Unlock() +} + +func (m *Media) Load() { + m.mu.Lock() + defer m.mu.Unlock() } |