Commit graph

77 commits

Author SHA1 Message Date
Lennart Poettering
1df817cb0a add pa_channel_position_to_pretty_string() to header
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1741 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-31 10:45:49 +00:00
Lennart Poettering
718b1d2a56 add pa_channel_position_to_pretty_string() for usage in pavucontrol/pavumeter
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1740 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-31 10:45:16 +00:00
Lennart Poettering
ee97c4295a add new PA_SINK_CAN_SUSPEND/PA_SOURCE_CAN_SUSPEND flag
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1724 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:38:57 +00:00
Lennart Poettering
c1cdcfde7c a couple of modernizations; parse RE sample types properly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1710 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-23 22:34:10 +00:00
Lennart Poettering
fa7fc315bd modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1681 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:18:04 +00:00
Lennart Poettering
33c6f9dd52 set CLOEXEC on more fds
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1668 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-15 20:47:53 +00:00
Lennart Poettering
d2d0978454 add protocol support for muting sink inputs and suspending sinks/sources
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1666 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-15 19:30:04 +00:00
Lennart Poettering
72840abe8a minor cleanliness fixes
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1617 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 15:09:28 +00:00
Lennart Poettering
23ba125725 fix bug in handling of defer events
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1595 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-09 13:36:06 +00:00
Lennart Poettering
241a9e10f1 follow rename of pstream_close() to pstream_unlink()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1574 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 00:09:02 +00:00
Lennart Poettering
c7df4ba6c3 minor modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1550 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 17:16:05 +00:00
Lennart Poettering
929526de33 Convert most snprintf() calls to pa_snprintf()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1534 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 16:23:03 +00:00
Lennart Poettering
068f5d5eef drop chunk argument from various drop() functions, since it doesn't make any sense if we want to guarantee always monotonously increasing read pointers; a couple of other fixes
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1529 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 14:46:40 +00:00
Lennart Poettering
69115687ad make untabify
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1472 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-11 13:53:31 +00:00
Lennart Poettering
00da37f2c4 Merge HUGE set of changes temporarily into a branch, to allow me to move them from one machine to another (lock-free and stuff)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1469 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-11 12:08:37 +00:00
Lennart Poettering
003264213c only browse for ipv4 pa servers for now. Needs better fixing which however is not trivial and probably breaks the API
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1453 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-23 23:38:28 +00:00
Lennart Poettering
4a05bc9bdc don't allow excessively high sample rates
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1449 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-23 16:57:35 +00:00
Lennart Poettering
0e53f939c0 Treat empty :0.0 identically to unset :0.0 when trying to find a PA server. (Closes #87)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1443 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-23 12:32:37 +00:00
Pierre Ossman
06211b7c8f Add copyright notices to all relevant files. (based on svn log)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-02-13 15:35:19 +00:00
Pierre Ossman
521daf6f0a Huge trailing whitespace cleanup. Let's keep the tree pure from here on,
mmmkay?


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-01-04 13:43:45 +00:00
Pierre Ossman
8dc6214276 Revert r1404 and keep it on a development branch until it is fully tested.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1409 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-06 13:06:01 +00:00
Pierre Ossman
9776596848 Handle when threaded mainloop is freed before it is started.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1405 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-06 10:14:16 +00:00
Lennart Poettering
d210ebbb09 rework memory block management to be thread-safe and mostly lock-free.
pa_memblock is now an opaque structure. Access to its fields is now done
through various accessor functions in a thread-safe manner.

pa_memblock_acquire() and pa_memblock_release() are now used to access the
attached audio data. Why? To allow safe manipulation of the memory pointer
maintained by the memory block. Internally _acquire() and _release() maintain a
reference counter. Please do not confuse this reference counter whith the one
maintained by pa_memblock_ref()/_unref()!

As a side effect this patch removes all direct usages of AO_t and replaces it
with pa_atomic_xxx based code.

This stuff needs some serious testing love. Especially if threads are actively
used.



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1404 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-26 23:50:56 +00:00
Lennart Poettering
0669c99fb6 add missing channel names (fixes a segfault when parsing invalid channel maps)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1378 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-07 13:31:53 +00:00
Lennart Poettering
40ecf869d0 don't hit an assert in the client if posix shm is not available
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1376 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-06 22:19:54 +00:00
Lennart Poettering
813e95f3b8 port the threaded mainloop to our new abstract mutex/thread API
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1369 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-04 21:29:17 +00:00
Lennart Poettering
1ed33478e5 increase operation timeout
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1336 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-27 13:04:56 +00:00
Pierre Ossman
095f35725d Proceed with connect even when no cookie is loaded. Allows you to connect
to server which do not require a cookie under all circumstances.


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1324 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-22 15:36:37 +00:00
Pierre Ossman
8a16c73151 Fix call to pa_pstream_send_tagstruct().
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1308 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-22 07:18:07 +00:00
Pierre Ossman
25c0640ac2 Add an ifdef for when we do not have creds.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1307 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-22 07:12:50 +00:00
Lennart Poettering
c9b6d55090 add default "disable-shm" option to client.conf
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1285 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 01:18:57 +00:00
Lennart Poettering
d785b8fa87 add new "disable-shm" option to client.conf
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1284 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 01:18:30 +00:00
Lennart Poettering
40875d6d05 enable SHM support on the client side only if both the client and the server run as the same user and the server supports it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1278 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 23:45:23 +00:00
Lennart Poettering
e385d93e5a remove all occurences of
pa_logXXX(__FILE__":  
   
and replace them by 
  
   pa_logXXX("



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1272 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 21:38:40 +00:00
Lennart Poettering
0e436a6926 Rework memory management to allow shared memory data transfer. The central idea
is to allocate all audio memory blocks from a per-process memory pool which is
available as read-only SHM segment to other local processes. Then, instead of
writing the actual audio data to the socket just write references to this
shared memory pool.

To work optimally all memory blocks should now be of type PA_MEMBLOCK_POOL or
PA_MEMBLOCK_POOL_EXTERNAL. The function pa_memblock_new() now generates memory
blocks of this type by default.



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1266 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 19:55:18 +00:00
Lennart Poettering
d89066036b modify pa_bytes_snprint() to return the string we just wrote to. This should be binary compat with older versions which returned void
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1259 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-17 20:02:46 +00:00
Lennart Poettering
e52436b6c4 implement pa_context_move_source_output_by_{name,index}()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1184 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-03 22:33:11 +00:00
Lennart Poettering
7f93d08d40 bump API and protocol version. Return PA_ERR_NOTSUPPORTED if pa_context_move_sink_input_by_*()is called for servers that don't support it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1179 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-01 21:04:43 +00:00
Lennart Poettering
bb9b08758e wrap PA_COMMAND_MOVE_SINK_INPUT for libpulse
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1177 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-31 21:55:09 +00:00
Lennart Poettering
646deeaee6 don't hit an assetr if there are operations outstanding when the pa_context is destroyed
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1171 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-29 17:20:08 +00:00
Lennart Poettering
9310a2e3b8 fix calculation of pa_usec_to_bytes, to make sure that it never returns fractions of a frame size
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1165 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-29 15:02:53 +00:00
Lennart Poettering
6afb61efdc remove superfluous code
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1155 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-27 16:49:44 +00:00
Lennart Poettering
358e577403 remove two superfluous lines
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1154 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-26 22:39:56 +00:00
Lennart Poettering
0d7be3148e mainloop fixes: when disabling time events when dispatching them, make sure to adjust the cache time event and enabled time event counters
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1153 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-26 22:39:06 +00:00
Lennart Poettering
563fab983f Results of profiling PulseAudio with valgrind's callgrind module: rework the default event loop implementation to use PA_LLIST_xxx instead of pa_idxset; don't generate weakeup events if we aren't in STATE_POLLING; minimize dispatching of io events; cache next time event instead of traversing the list of time events on every event loop iteration; other optimizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1148 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-25 20:39:34 +00:00
Lennart Poettering
c41d7498d3 add a few more g_assert()s and change all assert()s to g_assert()s
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1145 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-25 20:09:22 +00:00
Lennart Poettering
07a1c45cc1 fix horribly broken glib timeout event handling
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1138 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-22 00:54:23 +00:00
Lennart Poettering
40b408990a remove access group setting from default client.conf
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1133 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 23:12:18 +00:00
Lennart Poettering
da1ec271bb remove configurable client access group, since can never work on Linux anway, since SCM_CREDENTAILS doesn't allow sending supplementary GIDs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1127 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 21:28:44 +00:00
Pierre Ossman
a3e7595ac1 Make -1 mean "current group/user" so that some platform dependent calls
can be centralised.


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1113 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 00:21:50 +00:00