diff --git a/src/UglyToad.PdfPig.Tests/Images/Files/Jpg/218995467-ccb746b0-dc28-4616-bcb1-4ad685f81876.jpg b/src/UglyToad.PdfPig.Tests/Images/Files/Jpg/218995467-ccb746b0-dc28-4616-bcb1-4ad685f81876.jpg
new file mode 100644
index 00000000..d9875e94
Binary files /dev/null and b/src/UglyToad.PdfPig.Tests/Images/Files/Jpg/218995467-ccb746b0-dc28-4616-bcb1-4ad685f81876.jpg differ
diff --git a/src/UglyToad.PdfPig.Tests/Images/JpegHandlerTests.cs b/src/UglyToad.PdfPig.Tests/Images/JpegHandlerTests.cs
new file mode 100644
index 00000000..45d6d96b
--- /dev/null
+++ b/src/UglyToad.PdfPig.Tests/Images/JpegHandlerTests.cs
@@ -0,0 +1,38 @@
+namespace UglyToad.PdfPig.Tests.Images
+{
+ using System;
+ using System.IO;
+ using Xunit;
+ using JpegHandler = UglyToad.PdfPig.Images.JpegHandler;
+
+ public class JpegHandlerTests
+ {
+
+
+ [Fact]
+ public void CanGetJpegInformation()
+ {
+
+ var dataJpg = LoadJpg("218995467-ccb746b0-dc28-4616-bcb1-4ad685f81876.jpg");
+
+ using (var ms = new MemoryStream(dataJpg))
+ {
+ var jpegInfo = JpegHandler.GetInformation(ms);
+
+ Assert.Equal(8, jpegInfo.BitsPerComponent);
+ Assert.Equal(2290, jpegInfo.Height);
+ Assert.Equal(1648, jpegInfo.Width);
+ }
+ }
+
+
+
+ private static byte[] LoadJpg(string name)
+ {
+ var baseFolder = Path.GetFullPath(AppDomain.CurrentDomain.BaseDirectory);
+ var JpgFilesFolder = Path.Combine(baseFolder, "..", "..", "..", "Images", "Files", "Jpg"); ;
+ var JpgFilePath = Path.Combine(JpgFilesFolder, name);
+ return File.ReadAllBytes(JpgFilePath);
+ }
+ }
+}
diff --git a/src/UglyToad.PdfPig.Tests/UglyToad.PdfPig.Tests.csproj b/src/UglyToad.PdfPig.Tests/UglyToad.PdfPig.Tests.csproj
index 878d9824..6879cdc1 100644
--- a/src/UglyToad.PdfPig.Tests/UglyToad.PdfPig.Tests.csproj
+++ b/src/UglyToad.PdfPig.Tests/UglyToad.PdfPig.Tests.csproj
@@ -133,9 +133,4 @@
PreserveNewest
-
-
-
-
-
diff --git a/src/UglyToad.PdfPig/Images/JpegHandler.cs b/src/UglyToad.PdfPig/Images/JpegHandler.cs
index 46c19726..eb4c70af 100644
--- a/src/UglyToad.PdfPig/Images/JpegHandler.cs
+++ b/src/UglyToad.PdfPig/Images/JpegHandler.cs
@@ -1,6 +1,6 @@
namespace UglyToad.PdfPig.Images
{
- using System;
+ using System;
using System.IO;
internal static class JpegHandler
@@ -28,6 +28,19 @@
{
switch (marker)
{
+ case JpegMarker.StartOfImage:
+ case JpegMarker.EndOfImage:
+ case JpegMarker.Restart0:
+ case JpegMarker.Restart1:
+ case JpegMarker.Restart2:
+ case JpegMarker.Restart3:
+ case JpegMarker.Restart4:
+ case JpegMarker.Restart5:
+ case JpegMarker.Restart6:
+ case JpegMarker.Restart7:
+
+ // No length markers
+ break;
case JpegMarker.StartOfBaselineDctFrame:
case JpegMarker.StartOfProgressiveDctFrame:
{
@@ -55,6 +68,7 @@
case JpegMarker.ApplicationSpecific13:
case JpegMarker.ApplicationSpecific14:
case JpegMarker.ApplicationSpecific15:
+ default:
{
var length = ReadShort(stream, shortBuffer);
stream.Seek(length - 2, SeekOrigin.Current);
@@ -105,7 +119,7 @@
}
if (previous.HasValue && previous.Value == MarkerStart && b != MarkerStart)
- {
+ {
return b;
}