(self)
| 360 | |
| 361 | # Run Video Server |
| 362 | def run(self): |
| 363 | logger.info("Video server started") |
| 364 | |
| 365 | try: |
| 366 | conn = self.listener.accept() |
| 367 | logger.info(f'Connection accepted {self.listener.address}') |
| 368 | except Exception: |
| 369 | logger.error("Connection not accepted") |
| 370 | return |
| 371 | |
| 372 | while True: |
| 373 | try: |
| 374 | recv = conn.recv() |
| 375 | except EOFError: |
| 376 | return |
| 377 | |
| 378 | cmd = recv[0] # Command |
| 379 | payload = recv[1:] # Payload |
| 380 | |
| 381 | if cmd == self.SET_FILENAME: |
| 382 | logger.info("Set filename called") |
| 383 | filename_valid = self._setFilename(payload[0], payload[1], payload[2]) |
| 384 | conn.send(filename_valid) |
| 385 | |
| 386 | elif cmd == self.STREAM_CONFIGURE: |
| 387 | logger.info("Stream configure called") |
| 388 | configuration_valid = self._configureStream(payload[0], payload[1], payload[2], payload[3]) |
| 389 | conn.send(configuration_valid) |
| 390 | |
| 391 | elif cmd == self.STREAM_ENABLE: |
| 392 | logger.info("Enable stream called") |
| 393 | self._enableStream(payload[0]) |
| 394 | conn.send(self.active) |
| 395 | |
| 396 | elif cmd == self.STREAM_DISABLE: |
| 397 | logger.info("Disable stream called") |
| 398 | self._disableStream() |
| 399 | conn.send(self.active) |
| 400 | |
| 401 | elif cmd == self.FRAME_READ: |
| 402 | logger.info("Read frame called") |
| 403 | frame = self._readFrame() |
| 404 | conn.send_bytes(frame) |
| 405 | conn.send(self.eos) |
| 406 | |
| 407 | elif cmd == self.FRAME_WRITE: |
| 408 | logger.info("Write frame called") |
| 409 | frame = conn.recv_bytes() |
| 410 | self._writeFrame(frame) |
| 411 | |
| 412 | elif cmd == self.CLOSE_SERVER: |
| 413 | logger.info("Close server connection") |
| 414 | self.stop() |
| 415 | |
| 416 | # Stop Video Server |
| 417 | def stop(self): |
no test coverage detected