A photo's camera, exposure and location are stored but never served #225
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The twelve photo fields a scan now stores are never served, so no client can see them.
Both sides
Since #209, a scan stores
CameraMake,CameraModel,Software,ExposureTime,FocalLength,ImageOrientation,Aperture,ShutterSpeed,Latitude,Longitude,AltitudeandIsoSpeedRatingin the item's data.Upstream's
DtoServicecopies them ontoBaseItemDtofor aPhoto(upstream/Emby.Server.Implementations/Dto/DtoService.cs, theif (item is Photo photo)block).Ours maps none of them. The fields exist on the generated
BaseItemDtoand are always absent.What a client sees
jellyfin-web's photo detail and the slideshow's info panel show the camera, exposure and location. Against ours they show nothing.
Verifying
The library-kinds fixture carries a tagged JPEG. A route test that files it and reads
/Items/{id}can fail. So can a scenario over a photo library, if the reference ever gains one.Found reviewing #209.
Fixed, and landed on
mainat76f368b8.ItemRowcarries the photo fields parsed out of theDatablob, andcrates/ephyra-http/src/map/item/mod.rsfills all twelve onBaseItemDto— camera make and model, software, exposure time, focal length, orientation, aperture, shutter speed, latitude, longitude, altitude and ISO — only when the kind isPhoto, which is upstream'sif (item is Photo photo). Field for field, in the same order and with the same nullability asSetPhotoProperties.Tests in
crates/ephyra-http/tests/photos.rs: a photo serves all twelve, and a video filed with the same blob members serves none, so it is the kind gate under test rather than the blob.Not ported:
AlbumandAlbumId, which upstream takes from the photo's album. Nothing files photo albums here yet, so it is filed as #234 rather than left silent.