diff options
Diffstat (limited to 'internal/media')
| -rw-r--r-- | internal/media/processingemoji.go | 14 | ||||
| -rw-r--r-- | internal/media/processingmedia.go | 15 | 
2 files changed, 13 insertions, 16 deletions
| diff --git a/internal/media/processingemoji.go b/internal/media/processingemoji.go index 32eac4172..ec46ae76d 100644 --- a/internal/media/processingemoji.go +++ b/internal/media/processingemoji.go @@ -148,12 +148,7 @@ func (p *ProcessingEmoji) loadStatic(ctx context.Context) error {  			atomic.StoreInt32(&p.staticState, int32(errored))  			return p.err  		} - -		defer func() { -			if err := stored.Close(); err != nil { -				log.Errorf("loadStatic: error closing stored full size: %s", err) -			} -		}() +		defer stored.Close()  		// we haven't processed a static version of this emoji yet so do it now  		static, err := deriveStaticEmoji(stored, p.emoji.ImageContentType) @@ -163,7 +158,12 @@ func (p *ProcessingEmoji) loadStatic(ctx context.Context) error {  			return p.err  		} -		// put the static in storage +		// Close stored emoji now we're done +		if err := stored.Close(); err != nil { +			log.Errorf("loadStatic: error closing stored full size: %s", err) +		} + +		// put the static image in storage  		if err := p.storage.Put(ctx, p.emoji.ImageStaticPath, static.small); err != nil && err != storage.ErrAlreadyExists {  			p.err = fmt.Errorf("loadStatic: error storing static: %s", err)  			atomic.StoreInt32(&p.staticState, int32(errored)) diff --git a/internal/media/processingmedia.go b/internal/media/processingmedia.go index 573df1d0e..1247586cb 100644 --- a/internal/media/processingmedia.go +++ b/internal/media/processingmedia.go @@ -137,22 +137,15 @@ func (p *ProcessingMedia) loadThumb(ctx context.Context) error {  		}  		// stream the original file out of storage -		log.Tracef("loadThumb: fetching attachment from storage %s", p.attachment.URL)  		stored, err := p.storage.GetStream(ctx, p.attachment.File.Path)  		if err != nil {  			p.err = fmt.Errorf("loadThumb: error fetching file from storage: %s", err)  			atomic.StoreInt32(&p.thumbState, int32(errored))  			return p.err  		} - -		defer func() { -			if err := stored.Close(); err != nil { -				log.Errorf("loadThumb: error closing stored full size: %s", err) -			} -		}() +		defer stored.Close()  		// stream the file from storage straight into the derive thumbnail function -		log.Tracef("loadThumb: calling deriveThumbnail %s", p.attachment.URL)  		thumb, err := deriveThumbnail(stored, p.attachment.File.ContentType, createBlurhash)  		if err != nil {  			p.err = fmt.Errorf("loadThumb: error deriving thumbnail: %s", err) @@ -160,8 +153,12 @@ func (p *ProcessingMedia) loadThumb(ctx context.Context) error {  			return p.err  		} +		// Close stored media now we're done +		if err := stored.Close(); err != nil { +			log.Errorf("loadThumb: error closing stored full size: %s", err) +		} +  		// put the thumbnail in storage -		log.Tracef("loadThumb: storing new thumbnail %s", p.attachment.URL)  		if err := p.storage.Put(ctx, p.attachment.Thumbnail.Path, thumb.small); err != nil && err != storage.ErrAlreadyExists {  			p.err = fmt.Errorf("loadThumb: error storing thumbnail: %s", err)  			atomic.StoreInt32(&p.thumbState, int32(errored)) | 
