]> code.delx.au - pulseaudio/blobdiff - polyp/polyplib-internal.h
Make the whole stuff LGPL only
[pulseaudio] / polyp / polyplib-internal.h
index 98fd792473d02e1575010259e07ecf35053a1414..d1b53633c1ad8424f3ae18cdf0e25a0209b9f706 100644 (file)
@@ -7,7 +7,7 @@
   This file is part of polypaudio.
  
   polypaudio is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published
+  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.
  
@@ -16,7 +16,7 @@
   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 General Public License
+  You should have received a copy of the GNU Lesser General Public License
   along with polypaudio; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
   USA.
 #include "polyplib-operation.h"
 #include "llist.h"
 #include "native-common.h"
+#include "client-conf.h"
+#include "strlist.h"
 
-#define DEFAULT_TLENGTH (10240*8)
+#define DEFAULT_TLENGTH (44100*2*2/2)  //(10240*8)
 #define DEFAULT_MAXLENGTH ((DEFAULT_TLENGTH*3)/2)
-#define DEFAULT_PREBUF DEFAULT_TLENGTH
 #define DEFAULT_MINREQ 512
+#define DEFAULT_PREBUF (DEFAULT_TLENGTH-DEFAULT_MINREQ)
 #define DEFAULT_FRAGSIZE 1024
 
-#define DEFAULT_TIMEOUT (5*60)
-#define DEFAULT_SERVER "/tmp/polypaudio/native"
-#define DEFAULT_PORT "4713"
-
-#define ENV_DEFAULT_SINK "POLYP_SINK"
-#define ENV_DEFAULT_SOURCE "POLYP_SOURCE"
-#define ENV_DEFAULT_SERVER "POLYP_SERVER"
-#define ENV_DEFAULT_BINARY "POLYP_BINARY"
-#define ENV_DISABLE_AUTOSPAWN "POLYP_NOAUTOSPAWN"
-#define ENV_AUTOSPAWNED "POLYP_AUTOSPAWNED"
+#define DEFAULT_TIMEOUT (10)
 
 struct pa_context {
     int ref;
@@ -69,8 +62,6 @@ struct pa_context {
     uint32_t error;
     enum pa_context_state state;
     
-    uint8_t auth_cookie[PA_NATIVE_COOKIE_LENGTH];
-    
     void (*state_callback)(struct pa_context*c, void *userdata);
     void *state_userdata;
 
@@ -78,11 +69,21 @@ struct pa_context {
     void *subscribe_userdata;
 
     struct pa_memblock_stat *memblock_stat;
+
+    int local;
+    int do_autospawn;
+    int autospawn_lock_fd;
+    struct pa_spawn_api spawn_api;
+    
+    struct pa_strlist *server_list;
+
+    struct pa_client_conf *conf;
 };
 
 struct pa_stream {
     int ref;
     struct pa_context *context;
+    struct pa_mainloop_api *mainloop;
     PA_LLIST_FIELDS(struct pa_stream);
 
     char *name;
@@ -93,8 +94,17 @@ struct pa_stream {
     uint32_t device_index;
     enum pa_stream_direction direction;
     uint32_t requested_bytes;
+    uint64_t counter;
+    pa_usec_t previous_time;
     enum pa_stream_state state;
 
+    int interpolate;
+    int corked;
+
+    uint32_t ipol_usec;
+    struct timeval ipol_timestamp;
+    struct pa_time_event *ipol_event;
+    
     void (*state_callback)(struct pa_stream*c, void *userdata);
     void *state_userdata;
 
@@ -135,4 +145,7 @@ struct pa_operation* pa_context_send_simple_command(struct pa_context *c, uint32
 
 void pa_stream_set_state(struct pa_stream *s, enum pa_stream_state st);
 
+void pa_stream_trash_ipol(struct pa_stream *s);
+
+
 #endif