diff --git a/MetadataExtractor/Formats/QuickTime/QuickTimeMetadataReader.cs b/MetadataExtractor/Formats/QuickTime/QuickTimeMetadataReader.cs index 35bfd7583..e0bb553ef 100644 --- a/MetadataExtractor/Formats/QuickTime/QuickTimeMetadataReader.cs +++ b/MetadataExtractor/Formats/QuickTime/QuickTimeMetadataReader.cs @@ -204,7 +204,7 @@ void MetaDataHandler(AtomCallbackArgs a) 1 => new StringValue(data, Encoding.UTF8), // BE Float32 (used for User Rating) - 23 => BitConverter.ToSingle(BitConverter.IsLittleEndian ? data.Reverse().ToArray() : data, 0), + 23 => BitConverter.ToSingle(BitConverter.IsLittleEndian ? Reversed(data) : data, 0), // 13 JPEG // 14 PNG @@ -220,6 +220,12 @@ void MetaDataHandler(AtomCallbackArgs a) }; GetMetaHeaderDirectory().Set(tag, value); + + static byte[] Reversed(byte[] data) + { + Array.Reverse(data); + return data; + } } else { diff --git a/MetadataExtractor/Formats/Tiff/TiffReader.cs b/MetadataExtractor/Formats/Tiff/TiffReader.cs index 919922801..a6003ef1e 100644 --- a/MetadataExtractor/Formats/Tiff/TiffReader.cs +++ b/MetadataExtractor/Formats/Tiff/TiffReader.cs @@ -419,7 +419,7 @@ private static void ProcessTag(ITiffHandler handler, int tagId, in int valueOffs else { var array = new sbyte[componentCount]; - var bytes = MemoryMarshal.Cast(array); + var bytes = MemoryMarshal.Cast(array.AsSpan()); reader.GetBytes(valueOffset, bytes); handler.SetInt8SArray(tagId, array); }