summaryrefslogtreecommitdiff
path: root/src/rharchive.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rharchive.c')
-rw-r--r--src/rharchive.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/rharchive.c b/src/rharchive.c
index dda75f4..fc5f442 100644
--- a/src/rharchive.c
+++ b/src/rharchive.c
@@ -124,16 +124,18 @@ int main_loop(options_t* opt)
gst_element_set_state(pipeline, GST_STATE_PLAYING);
signal_start(loop);
- writer_start(&writer);
- g_main_loop_run(loop);
- signal_stop();
+ ret = writer_start(&writer);
+ if(!ret) {
+ g_main_loop_run(loop);
+ signal_stop();
+ }
log_printf(NOTICE, "Stopping pipeline");
gst_element_set_state (pipeline, GST_STATE_NULL);
writer_stop(&writer);
gst_object_unref(GST_OBJECT(pipeline));
- return 0;
+ return ret;
}
int main(int argc, char* argv[])