]> code.delx.au - pulseaudio/blobdiff - src/sink.h
add name registrar
[pulseaudio] / src / sink.h
index a6f98005ac8121c3c0f8426b0f57bc95ba97829d..a5b1ff68ee732a8fd6facd8ad396ab8c3a1ef691 100644 (file)
@@ -11,28 +11,37 @@ struct sink;
 #include "source.h"
 
 struct sink {
-    char *name;
     uint32_t index;
-    
+
+    char *name;
     struct core *core;
-    struct sample_spec sample_spec;
-    struct idxset *input_streams;
+    struct pa_sample_spec sample_spec;
+    struct idxset *inputs;
 
     struct source *monitor_source;
 
     uint8_t volume;
 
-    void (*notify_callback)(struct sink*sink, void *userdata);
+    void (*notify)(struct sink*sink);
+    uint32_t (*get_latency)(struct sink *s);
     void *userdata;
 };
 
-struct sink* sink_new(struct core *core, const char *name, const struct sample_spec *spec);
+struct sink* sink_new(struct core *core, const char *name, int fail, const struct pa_sample_spec *spec);
 void sink_free(struct sink* s);
 
 int sink_render(struct sink*s, size_t length, struct memchunk *result);
-int sink_render_into(struct sink*s, struct memblock *target, struct memchunk *result);
+int sink_render_into(struct sink*s, struct memchunk *target);
+void sink_render_into_full(struct sink *s, struct memchunk *target);
+
+uint32_t sink_get_latency(struct sink *s);
 
 void sink_notify(struct sink*s);
-void sink_set_notify_callback(struct sink *s, void (*notify_callback)(struct sink*sink, void *userdata), void *userdata);
+
+char *sink_list_to_string(struct core *core);
+
+struct sink* sink_get_default(struct core *c);
+
+
 
 #endif