diff options
Diffstat (limited to 'src/writer.c')
-rw-r--r-- | src/writer.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/writer.c b/src/writer.c index 4d8d664..8d08cd9 100644 --- a/src/writer.c +++ b/src/writer.c @@ -70,19 +70,25 @@ static int init_time_boundaries(writer_t* writer) static void added_cb(GstElement* sink, gint fd, gpointer data) { - log_printf(INFO, "fdsink: successfully added client %d", fd); + gint num_fds; + g_object_get(G_OBJECT(sink), "num_fds", &num_fds, NULL); + log_printf(INFO, "fdsink: successfully added client %d (sink has now %d fds)", fd, num_fds); } static void removed_cb(GstElement* sink, gint fd, gpointer data) { - log_printf(INFO, "fdsink: successfully removed client %d", fd); + gint num_fds; + g_object_get(G_OBJECT(sink), "num_fds", &num_fds, NULL); + log_printf(INFO, "fdsink: successfully removed client %d (sink has now %d fds)", fd, num_fds); } static void fdremoved_cb(GstElement* sink, gint fd, gpointer data) { - writer_t *writer = (writer_t*)data; - log_printf(INFO, "fdsink: successfully removed fd %d", fd); + gint num_fds; + g_object_get(G_OBJECT(sink), "num_fds", &num_fds, NULL); + log_printf(INFO, "fdsink: successfully removed fd %d (sink has now %d fds)", fd, num_fds); + writer_t *writer = (writer_t*)data; // call post processing script file_list_remove(&(writer->files_), fd); } @@ -123,15 +129,12 @@ int writer_init(writer_t* writer, GMainLoop *loop, const char* name_format, mode static void add_fd(writer_t* writer, int fd) { log_printf(INFO, "adding fd %d to fdsink", fd); -// g_object_set(G_OBJECT(writer->sink_), "fd", fd, NULL); - g_signal_emit_by_name(G_OBJECT(writer->sink_), "add", fd, NULL); } static void remove_fd(writer_t* writer, int fd) { log_printf(INFO, "removing fd %d from fdsink", fd); - // nothing yet g_signal_emit_by_name(G_OBJECT(writer->sink_), "remove-flush", fd, NULL); } @@ -142,7 +145,7 @@ static int check_boundaries(writer_t* writer) GstClockTime tmp = GST_TIMESPEC_TO_TIME(now); GstClockTime boundary = GST_TIMESPEC_TO_TIME(writer->next_boundary_); - tmp += writer->offset_; + tmp -= writer->offset_; if(tmp >= boundary) { struct tm now_bd; localtime_r(&(now.tv_sec), &now_bd); |