Skip to content

Commit 35e1f5b

Browse files
committed
SocketException: Broken pipe when using WebcamStreamer
fixes #19
1 parent 1583f66 commit 35e1f5b

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

webcam-capture/src/main/java/com/github/sarxos/webcam/WebcamStreamer.java

+16-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.io.InputStreamReader;
99
import java.net.ServerSocket;
1010
import java.net.Socket;
11+
import java.net.SocketException;
1112
import java.util.concurrent.Executor;
1213
import java.util.concurrent.Executors;
1314
import java.util.concurrent.ThreadFactory;
@@ -123,6 +124,13 @@ public void run() {
123124

124125
do {
125126

127+
if (socket.isInputShutdown()) {
128+
break;
129+
}
130+
if (socket.isClosed()) {
131+
break;
132+
}
133+
126134
baos.reset();
127135

128136
ImageIO.write(getImage(), "JPG", baos);
@@ -136,7 +144,14 @@ public void run() {
136144
bos.write(sb.toString().getBytes());
137145
bos.write(baos.toByteArray());
138146
bos.write(CRLF.getBytes());
139-
bos.flush();
147+
148+
try {
149+
bos.flush();
150+
} catch (SocketException e) {
151+
if (!socket.isClosed()) {
152+
throw e;
153+
}
154+
}
140155

141156
Thread.sleep(getDelay());
142157

0 commit comments

Comments
 (0)