Browse Source

Merge branch 'master' of github.com:Ultimaker/Cura

Jaime van Kessel 7 years ago
parent
commit
a365fec1ac
1 changed files with 9 additions and 0 deletions
  1. 9 0
      plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py

+ 9 - 0
plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py

@@ -326,6 +326,9 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
         return True
 
     def _stopCamera(self):
+        self._stream_buffer = b""
+        self._stream_buffer_start_index = -1
+
         if self._camera_timer.isActive():
             self._camera_timer.stop()
 
@@ -1166,6 +1169,12 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
             return
         self._stream_buffer += self._image_reply.readAll()
 
+        if len(self._stream_buffer) > 2000000: # No single camera frame should be 2 Mb or larger
+            Logger.log("w", "MJPEG buffer exceeds reasonable size. Restarting stream...")
+            self._stopCamera() # resets stream buffer and start index
+            self._startCamera()
+            return
+
         if self._stream_buffer_start_index == -1:
             self._stream_buffer_start_index = self._stream_buffer.indexOf(b'\xff\xd8')
         stream_buffer_end_index = self._stream_buffer.lastIndexOf(b'\xff\xd9')