about summary refs log tree commit diff
path: root/lri-rs/src/block.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lri-rs/src/block.rs')
-rw-r--r--lri-rs/src/block.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/lri-rs/src/block.rs b/lri-rs/src/block.rs
index 19e7294..d973430 100644
--- a/lri-rs/src/block.rs
+++ b/lri-rs/src/block.rs
@@ -6,7 +6,8 @@ use lri_proto::{
 };
 
 use crate::{
-	CameraId, CameraInfo, ColorInfo, DataFormat, HdrMode, RawData, RawImage, SceneMode, SensorModel,
+	fine::Signature, CameraId, CameraInfo, ColorInfo, DataFormat, HdrMode, RawData, RawImage,
+	SceneMode, SensorModel,
 };
 
 pub(crate) struct Block<'lri> {
@@ -45,6 +46,7 @@ impl<'lri> Block<'lri> {
 		images: &mut Vec<RawImage<'lri>>,
 		colors: &mut Vec<ColorInfo>,
 		infos: &mut Vec<CameraInfo>,
+		sig: &mut Signature,
 	) {
 		let LightHeader {
 			mut hw_info,
@@ -54,8 +56,10 @@ impl<'lri> Block<'lri> {
 			device_fw_version,
 			image_focal_length,
 			af_info,
+			mut view_preferences,
 			..
 		} = if let Message::LightHeader(lh) = self.message() {
+			sig.merge(&lh);
 			lh
 		} else if let Message::ViewPreferences(vp) = self.message() {
 			self.extract_view(vp, ext);
@@ -76,6 +80,10 @@ impl<'lri> Block<'lri> {
 			}
 		}
 
+		if let Some(vp) = view_preferences.take() {
+			self.extract_view(vp, ext);
+		}
+
 		// Color information for the Camera moduels.
 		for mcal in module_calibration {
 			let camera = mcal.camera_id().into();