]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/sink.h
Don't abort config loading when the user specific cannot be loaded.
[pulseaudio] / src / pulsecore / sink.h
index fdff0522d806a8df9f9228fe994037550176ce87..7cfc9e268fb448cf0f194421bfb2cdb88f9b45c0 100644 (file)
@@ -5,17 +5,17 @@
 
 /***
   This file is part of PulseAudio.
+
   PulseAudio is free software; you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as published
   by the Free Software Foundation; either version 2 of the License,
   or (at your option) any later version.
+
   PulseAudio is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
   General Public License for more details.
+
   You should have received a copy of the GNU Lesser General Public License
   along with PulseAudio; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
@@ -48,25 +48,28 @@ struct pa_sink {
     pa_core *core;
     pa_sink_state_t state;
 
-    char *name, *description, *driver;
-    pa_module *owner;
+    char *name;
+    char *description, *driver;            /* may be NULL */
+    int is_hardware;
+
+    pa_module *owner;                      /* may be NULL */
 
     pa_sample_spec sample_spec;
     pa_channel_map channel_map;
 
     pa_idxset *inputs;
-    pa_source *monitor_source;
-    
+    pa_source *monitor_source;             /* may be NULL */
+
     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 (*notify)(pa_sink*sink);          /* may be NULL */
+    pa_usec_t (*get_latency)(pa_sink *s);  /* dito */
+    int (*set_hw_volume)(pa_sink *s);      /* dito */
+    int (*get_hw_volume)(pa_sink *s);      /* dito */
+    int (*set_hw_mute)(pa_sink *s);        /* dito */
+    int (*get_hw_mute)(pa_sink *s);        /* dito */
+
     void *userdata;
 };
 
@@ -86,7 +89,7 @@ int pa_sink_render(pa_sink*s, size_t length, pa_memchunk *result);
 void pa_sink_render_full(pa_sink *s, size_t length, pa_memchunk *result);
 int pa_sink_render_into(pa_sink*s, pa_memchunk *target);
 void pa_sink_render_into_full(pa_sink *s, pa_memchunk *target);
-    
+
 pa_usec_t pa_sink_get_latency(pa_sink *s);
 
 void pa_sink_notify(pa_sink*s);
@@ -98,4 +101,8 @@ 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);
 
+void pa_sink_set_description(pa_sink *s, const char *description);
+
+unsigned pa_sink_used_by(pa_sink *s);
+
 #endif