diff options
-rw-r--r-- | encode.c | 1 | ||||
-rw-r--r-- | main.c | 1 |
2 files changed, 2 insertions, 0 deletions
@@ -206,6 +206,7 @@ static bool DrainPacket(const struct AVPacket* packet, int fd) { switch (result) { case -1: if (errno == EINTR) continue; + if (errno == EPIPE) return true; LOG("Failed to write packed (%s)", strerror(errno)); return false; case 0: @@ -63,6 +63,7 @@ int main(int argc, char* argv[]) { (void)argv; if (signal(SIGINT, OnSignal) == SIG_ERR || + signal(SIGPIPE, OnSignal) == SIG_ERR || signal(SIGTERM, OnSignal) == SIG_ERR) { LOG("Failed to set signal handlers (%s)", strerror(errno)); return EXIT_FAILURE; |