aboutsummaryrefslogtreecommitdiff
path: root/src/main/extractor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/extractor.c')
-rw-r--r--src/main/extractor.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/main/extractor.c b/src/main/extractor.c
index 6fc85b0..5bc2b6e 100644
--- a/src/main/extractor.c
+++ b/src/main/extractor.c
@@ -375,7 +375,7 @@ do_extract (struct EXTRACTOR_PluginList *plugins,
375 int64_t min_seek; 375 int64_t min_seek;
376 int64_t end; 376 int64_t end;
377 ssize_t data_available; 377 ssize_t data_available;
378 uint32_t ready; 378 ssize_t ready;
379 int done; 379 int done;
380 380
381 plugin_count = 0; 381 plugin_count = 0;
@@ -394,7 +394,7 @@ do_extract (struct EXTRACTOR_PluginList *plugins,
394 start.opcode = MESSAGE_EXTRACT_START; 394 start.opcode = MESSAGE_EXTRACT_START;
395 start.reserved = 0; 395 start.reserved = 0;
396 start.reserved2 = 0; 396 start.reserved2 = 0;
397 start.shm_ready_bytes = ready; 397 start.shm_ready_bytes = (uint32_t) ready;
398 start.file_size = EXTRACTOR_datasource_get_size_ (ds, 0); 398 start.file_size = EXTRACTOR_datasource_get_size_ (ds, 0);
399 for (pos = plugins; NULL != pos; pos = pos->next) 399 for (pos = plugins; NULL != pos; pos = pos->next)
400 { 400 {
@@ -408,7 +408,13 @@ do_extract (struct EXTRACTOR_PluginList *plugins,
408 pos->channel = NULL; 408 pos->channel = NULL;
409 } 409 }
410 } 410 }
411 done = 0; 411 if (-1 == ready)
412 {
413 LOG ("Failed to initialize IPC shared memory, cannot extract\n");
414 done = 1;
415 }
416 else
417 done = 0;
412 while (! done) 418 while (! done)
413 { 419 {
414 struct EXTRACTOR_Channel *channels[plugin_count]; 420 struct EXTRACTOR_Channel *channels[plugin_count];