Commit graph

90 commits

Author SHA1 Message Date
Lennart Poettering
d9c4c9509d add new pa_pipe_close() API to close two fds at the same time
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1812 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 00:17:51 +00:00
Lennart Poettering
7f92542420 consolidate close() calls to pa_close(), and make sure on every occasion that we handle failures of close() sensibly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1811 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 00:04:21 +00:00
Lennart Poettering
d5bedbcd98 remaining s/assert/pa_assert/ and refcnt.h modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1809 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 20:48:33 +00:00
Lennart Poettering
27f13b3853 finish modernizations in pulse/, s/assert/pa_assert/g
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1805 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 14:23:38 +00:00
Lennart Poettering
038e560152 More s/assert/pa_assert/ modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1804 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 14:04:38 +00:00
Lennart Poettering
597a1c4e82 port client libs to refcnt.h
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1802 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 12:42:17 +00:00
Lennart Poettering
55d9fcb126 add globally defined PA_PATH_SEP macro, replacing private per-file macros
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1801 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 01:00:33 +00:00
Lennart Poettering
848a4d7487 more s/assert/pa_assert/ modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1798 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 00:24:10 +00:00
Lennart Poettering
3d122d0fee s/assert/pa_assert/ modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1796 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 22:17:30 +00:00
Lennart Poettering
de21b54bd1 add new API pa_threaded_mainloop_in_thread(), update test case for it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1795 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 21:58:01 +00:00
Lennart Poettering
a6f8b813ae simple modernizations: s/assert/pa_assert
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1794 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 21:48:45 +00:00
Tanu Kaskinen
dfdf1d7d9f Changed PA_SAMPLE_S16_NE to PA_SAMPLE_S16NE in the example code in the Simple API Doxygen documentation.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1778 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-09 09:39:26 +00:00
Lennart Poettering
65ac0ea99a When in PA_STREAM_AUTO_TIMING_UPDATE mode, delay completion of initialization until we have the first timing data
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1762 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-04 01:37:34 +00:00
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