aboutsummaryrefslogtreecommitdiff
path: root/src/VideoPlayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/VideoPlayer.cpp')
-rw-r--r--src/VideoPlayer.cpp30
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;