diff options
Diffstat (limited to 'src/VideoPlayer.cpp')
-rw-r--r-- | src/VideoPlayer.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/VideoPlayer.cpp b/src/VideoPlayer.cpp index d4e27d1..ba7fb81 100644 --- a/src/VideoPlayer.cpp +++ b/src/VideoPlayer.cpp @@ -275,6 +275,20 @@ namespace QuickMedia { VideoPlayer::Error VideoPlayer::update() { const int max_retries_find_window = 1000; + if(video_process_id != -1) { + if(wait_program_non_blocking(video_process_id, &exit_status)) { + fprintf(stderr, "The video player exited!, status: %d\n", exit_status); + close(ipc_socket); + remove(ipc_server_path); + ipc_server_path[0] = '\0'; + video_process_id = -1; + ipc_socket = -1; + window_handle = None; + connected_to_ipc = false; + return Error::EXITED; + } + } + if(ipc_socket == -1) return Error::INIT_FAILED; @@ -317,21 +331,7 @@ namespace QuickMedia { } } - if(video_process_id != -1) { - if(wait_program_non_blocking(video_process_id, &exit_status)) { - fprintf(stderr, "The video player exited!, status: %d\n", exit_status); - close(ipc_socket); - remove(ipc_server_path); - ipc_server_path[0] = '\0'; - video_process_id = -1; - ipc_socket = -1; - window_handle = None; - connected_to_ipc = false; - return Error::EXITED; - } - } - - if(connected_to_ipc && event_callback) { + if(connected_to_ipc && window_handle && event_callback) { Error err = read_ipc_func(); if(err != Error::OK) return err; |