]> code.delx.au - pulseaudio/blobdiff - src/polypcore/sink.h
when loading sound files, initialize channel map data properly
[pulseaudio] / src / polypcore / sink.h
index 5fd9784f9110535d65694c9de0db9733313e1bef..59d455972e7be44a1ab067fea7c2b6df06eb11da 100644 (file)
@@ -29,23 +29,19 @@ typedef struct pa_sink pa_sink;
 #include <polyp/sample.h>
 #include <polyp/channelmap.h>
 #include <polyp/volume.h>
+#include <polypcore/core-def.h>
 #include <polypcore/core.h>
 #include <polypcore/idxset.h>
 #include <polypcore/source.h>
 #include <polypcore/module.h>
 
-#define PA_MAX_INPUTS_PER_SINK 6
+#define PA_MAX_INPUTS_PER_SINK 32
 
 typedef enum pa_sink_state {
     PA_SINK_RUNNING,
     PA_SINK_DISCONNECTED
 } pa_sink_state_t;
 
-typedef enum pa_mixer {
-    PA_MIXER_SOFTWARE,
-    PA_MIXER_HARDWARE
-} pa_mixer_t;
-
 struct pa_sink {
     int ref;
     uint32_t index;
@@ -62,11 +58,14 @@ struct pa_sink {
     pa_source *monitor_source;
     
     pa_cvolume hw_volume, sw_volume;
+    int hw_muted, sw_muted;
 
     void (*notify)(pa_sink*sink);
     pa_usec_t (*get_latency)(pa_sink *s);
     int (*set_hw_volume)(pa_sink *s);
     int (*get_hw_volume)(pa_sink *s);
+    int (*set_hw_mute)(pa_sink *s);
+    int (*get_hw_mute)(pa_sink *s);
     
     void *userdata;
 };
@@ -96,5 +95,7 @@ void pa_sink_set_owner(pa_sink *sink, pa_module *m);
 
 void pa_sink_set_volume(pa_sink *sink, pa_mixer_t m, const pa_cvolume *volume);
 const pa_cvolume *pa_sink_get_volume(pa_sink *sink, pa_mixer_t m);
+void pa_sink_set_mute(pa_sink *sink, pa_mixer_t m, int mute);
+int pa_sink_get_mute(pa_sink *sink, pa_mixer_t m);
 
 #endif