diff --git a/pcsx2/USB/usb-eyetoy/cam-linux.cpp b/pcsx2/USB/usb-eyetoy/cam-linux.cpp index b7110de54a..584f633fcc 100644 --- a/pcsx2/USB/usb-eyetoy/cam-linux.cpp +++ b/pcsx2/USB/usb-eyetoy/cam-linux.cpp @@ -502,6 +502,7 @@ namespace usb_eyetoy if (len < (int)mpeg_buffer.length) len2 = len; memcpy(buf, mpeg_buffer.start, len2); + mpeg_buffer.length = 0; mpeg_mutex.unlock(); return len2; }; diff --git a/pcsx2/USB/usb-eyetoy/cam-windows.cpp b/pcsx2/USB/usb-eyetoy/cam-windows.cpp index fc8f56a8ee..706117bae5 100644 --- a/pcsx2/USB/usb-eyetoy/cam-windows.cpp +++ b/pcsx2/USB/usb-eyetoy/cam-windows.cpp @@ -474,6 +474,7 @@ namespace usb_eyetoy if (len < mpeg_buffer.length) len2 = len; memcpy(buf, mpeg_buffer.start, len2); + mpeg_buffer.length = 0; mpeg_mutex.unlock(); return len2; }; diff --git a/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.cpp b/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.cpp index af0513eaab..f41ab51d77 100644 --- a/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.cpp +++ b/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.cpp @@ -426,7 +426,8 @@ namespace usb_eyetoy s->mpeg_frame_size = s->videodev->GetImage(s->mpeg_frame_data, 320 * 240 * 2); if (s->mpeg_frame_size == 0) { - goto send_packet; + p->status = USB_RET_NAK; + break; } uint8_t header[] = {