summaryrefslogtreecommitdiff
path: root/src/writer.c
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2014-02-04 13:25:05 (GMT)
committerChristian Pointner <equinox@helsinki.at>2014-02-04 13:25:05 (GMT)
commit5f4fceff0f892bf19a8f6176b17ea1ad2569bdf0 (patch)
tree3ba0bdfe667ffbf157a016745f7ae1aef0bd5bf8 /src/writer.c
parentbfca54665d2fa4e72997ab9816b35011d756694e (diff)
added new option --nocache which controls the usage of O_DIRECT
Diffstat (limited to 'src/writer.c')
-rw-r--r--src/writer.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/writer.c b/src/writer.c
index d7875de..95d12ed 100644
--- a/src/writer.c
+++ b/src/writer.c
@@ -47,7 +47,7 @@ static int init_time_boundaries(writer_t* writer)
struct tm bd_time;
localtime_r(&(now.tv_sec), &bd_time);
- writer->current_ = file_list_add(&(writer->files_), &bd_time, "current", writer->name_format_, writer->output_dir_, writer->mode_);
+ writer->current_ = file_list_add(&(writer->files_), &bd_time, "current", writer->name_format_, writer->output_dir_, writer->mode_, writer->nocache_);
if(writer->current_ == NULL) return -2;
bd_time.tm_sec = 0;
@@ -59,7 +59,7 @@ static int init_time_boundaries(writer_t* writer)
struct timespec b = { T, 0 };
writer->next_boundary_ = b;
- writer->next_ = file_list_add(&(writer->files_), &bd_time, "next", writer->name_format_, writer->output_dir_, writer->mode_);
+ writer->next_ = file_list_add(&(writer->files_), &bd_time, "next", writer->name_format_, writer->output_dir_, writer->mode_, writer->nocache_);
if(writer->next_ == NULL) return -2;
return 0;
@@ -92,7 +92,7 @@ static void fdremoved_cb(GstElement* sink, gint fd, gpointer data)
file_list_remove(&(writer->files_), fd);
}
-int writer_init(writer_t* writer, GMainLoop *loop, const char* name_format, mode_t mode, const char* output_dir, int interval, int offset, char* post_process)
+int writer_init(writer_t* writer, GMainLoop *loop, const char* name_format, mode_t mode, int nocache, const char* output_dir, int interval, int offset, char* post_process)
{
if(!writer)
return -1;
@@ -116,6 +116,7 @@ int writer_init(writer_t* writer, GMainLoop *loop, const char* name_format, mode
}
writer->name_format_ = name_format;
writer->mode_ = mode;
+ writer->nocache_ = nocache;
writer->output_dir_ = output_dir;
writer->interval_ = interval * GST_MSECOND;
writer->offset_ = offset * GST_MSECOND;
@@ -164,7 +165,7 @@ static int check_boundaries(writer_t* writer)
struct tm bd_time;
localtime_r(&(writer->next_boundary_.tv_sec), &bd_time);
- writer->next_ = file_list_add(&(writer->files_), &bd_time, "next", writer->name_format_, writer->output_dir_, writer->mode_);
+ writer->next_ = file_list_add(&(writer->files_), &bd_time, "next", writer->name_format_, writer->output_dir_, writer->mode_, writer->nocache_);
if(writer->next_ == NULL) return -2;
}