Skip to content

Commit c22b118

Browse files
committed
MediaFile: Use thumb.FileInfo() to determine image width and height
Signed-off-by: Michael Mayer <[email protected]>
1 parent 96dbb5c commit c22b118

File tree

1 file changed

+5
-31
lines changed

1 file changed

+5
-31
lines changed

internal/photoprism/mediafile.go

+5-31
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828

2929
"github.com/photoprism/photoprism/internal/entity"
3030
"github.com/photoprism/photoprism/internal/meta"
31+
"github.com/photoprism/photoprism/internal/thumb"
3132
"github.com/photoprism/photoprism/pkg/clean"
3233
"github.com/photoprism/photoprism/pkg/fs"
3334
"github.com/photoprism/photoprism/pkg/media"
@@ -1184,40 +1185,13 @@ func (m *MediaFile) DecodeConfig() (_ *image.Config, err error) {
11841185
return nil, fmt.Errorf("%s not supported natively", clean.Log(m.Extension()))
11851186
}
11861187

1187-
m.fileMutex.Lock()
1188-
defer m.fileMutex.Unlock()
1189-
1190-
fileName := m.FileName()
1191-
1192-
// Resolve symlinks.
1193-
if fileName, err = fs.Resolve(fileName); err != nil {
1194-
return nil, fmt.Errorf("%s %s", err, clean.Log(m.RootRelName()))
1195-
}
1196-
1197-
file, err := os.Open(fileName)
1198-
1199-
if err != nil || file == nil {
1200-
return nil, err
1201-
}
1202-
1203-
defer file.Close()
1204-
1205-
// Reset file offset.
1206-
// see https://github.com/golang/go/issues/45902#issuecomment-1007953723
1207-
_, err = file.Seek(0, 0)
1188+
var info image.Config
12081189

1209-
if err != nil {
1210-
return nil, fmt.Errorf("%s on seek", err)
1211-
}
1212-
1213-
// Decode image config (dimensions).
1214-
cfg, _, err := image.DecodeConfig(file)
1215-
1216-
if err != nil {
1217-
return nil, fmt.Errorf("%s while decoding", err)
1190+
if info, err = thumb.FileInfo(m.FileName()); err != nil {
1191+
return nil, fmt.Errorf("%s while decoding %s dimensions", err, clean.Log(m.Extension()))
12181192
}
12191193

1220-
m.imageConfig = &cfg
1194+
m.imageConfig = &info
12211195

12221196
return m.imageConfig, nil
12231197
}

0 commit comments

Comments
 (0)