Commit graph

218 commits

Author SHA1 Message Date
Lennart Poettering
23d01bb75d Modernize pstream.[ch], reintroduce defer event to make things actually work
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1572 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 00:07:58 +00:00
Lennart Poettering
36dd7819da modernize play-memchunk and port it to the new core
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1571 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 00:07:07 +00:00
Lennart Poettering
34e41657e7 minor cleanups
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1570 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 00:06:35 +00:00
Lennart Poettering
d3eca287cf rename pa_source_output_new_data::corked to start_corked to match pa_sink_input_new_data::start_corked
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1563 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-31 22:56:35 +00:00
Lennart Poettering
0defdfb560 A lot of updates, all necessary to get the native protocol ported:
* add an int64_t argument to pa_asyncmsgq because it is very difficult to pass 64 values otherwise
* simplify subclassing in pa_object
* s/drop/unlink/ at some places
* port the native protocol to the lock-free core (not tested, compiles fine)
* move synchronisation of playback streams into pa_sink_input
* add "start_corked" field to pa_sink_input_new_data
* allow casting of NULL values in pa_object


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1562 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-31 22:44:53 +00:00
Lennart Poettering
81aa8ea37c drop data from inputs only when in running state
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1558 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 22:55:44 +00:00
Lennart Poettering
5fbb8e12d6 add PA_SINK_OPENED/PA_SOURCE_OPENED macros for easier checking for _IDLE or _RUNNING states
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1555 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 20:58:33 +00:00
Lennart Poettering
c936e53fa2 Fix channel remapping in resample; other modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1548 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 19:30:51 +00:00
Lennart Poettering
4cc0d0a18f remove some log messages
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1547 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 19:19:42 +00:00
Lennart Poettering
86abfbf9e8 remove debug messages; don't queue request messages like nothing when send file is finished
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1546 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 14:40:17 +00:00
Lennart Poettering
bbb347fa91 properly free memblocks when skipping over them
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1545 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 13:58:50 +00:00
Lennart Poettering
042cb09394 make valgrind shut up regarding non-freed ident strings. other modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1544 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 13:55:52 +00:00
Lennart Poettering
bc17b8ea2d reverse order flist destruction and mempool allocation warning
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1543 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 13:20:11 +00:00
Lennart Poettering
222a6d270e Increase ref counter of sink input as long as it is included in the sink idxset
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1542 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 13:18:50 +00:00
Lennart Poettering
d80fd10a67 properly deref sink_input/source_output objects when removing them from a sink/source
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1541 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 13:17:34 +00:00
Lennart Poettering
bc3693261f port asyncq to make use of new fdsem object
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1538 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 13:15:05 +00:00
Lennart Poettering
6ad165c686 add abstracted file descriptor based semaphore object that is lock-free in the best cases
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1537 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 13:14:26 +00:00
Lennart Poettering
8836396c77 Store strings directly in strlst elements, other modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1536 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 21:28:56 +00:00
Lennart Poettering
98d36efa82 fix some alignment issues and modernize file a little bit
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1535 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 16:33:56 +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
8e83838154 Modernize things a little bith more
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1533 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 15:50:40 +00:00
Lennart Poettering
2a43bbf206 Modernize things a little
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1532 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 15:50:09 +00:00
Lennart Poettering
2380ad9254 add our own implementation for pa_snprintf() because NUL termination is apparently not guaranteed on windows and a couple of other libcs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1531 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 15:49:35 +00:00
Lennart Poettering
9e9dc0b14d Simplify implementation of pa_assert_se()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1530 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 15:44:28 +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
9cc20b46b7 update static free list usage in asyncmsgq
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1528 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 14:44:25 +00:00
Lennart Poettering
e339d4b9c4 update static free list usage in hashmap
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1527 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 14:44:00 +00:00
Lennart Poettering
f42e4438eb destruct freelists properly, by using gcc destructors. we do this only to make valgrind shut up, not because it would have any real value during runtime
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1526 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 14:43:05 +00:00
Lennart Poettering
279b1b3311 wrap destructor gcc attribute in macro
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1525 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 14:41:54 +00:00
Lennart Poettering
c76d035dad Fix a couple of typos in the resampler code
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1523 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-14 11:26:55 +00:00
Lennart Poettering
65d54d6aaf s/assert/pa_assert/g; make use of static flist for memblock allocation where applicable; properly initialize length value in pa_memexport_put()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1521 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 23:27:15 +00:00
Lennart Poettering
0e84f044dd Minor clarification
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1520 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 23:23:03 +00:00
Lennart Poettering
f2c98d7483 Make use of static flist for hashmap entry alllocation
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1519 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 23:22:38 +00:00
Lennart Poettering
69bfa351ba Actually make the static flist static
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1518 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 23:21:54 +00:00
Lennart Poettering
59faa5d38b Remove a superfluous pa_memblock_release(); properly handle buf4 allocation
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1515 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 12:13:25 +00:00
Lennart Poettering
63c231ed36 Fix concurrency bug when turning memblock into a local memblock
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1514 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 12:12:40 +00:00
Lennart Poettering
481b425a28 Fix off-by-one in mixing code
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1513 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 12:11:19 +00:00
Lennart Poettering
295e1c83ac Make pa_sink_render_* and pa_source_post work only when in RUNNING state, to fix handling of monitor sources when their sink is suspended
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1509 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 00:09:59 +00:00
Lennart Poettering
63129389c9 remove pa_memblockq_is_writable() (because it is stupid and not used anywhere anyway, and replace all assert()s with pa_assert()s
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1500 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-25 22:53:09 +00:00
Lennart Poettering
a482b9fd99 make sure we don't free the same connection twice
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1499 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-25 22:33:04 +00:00
Lennart Poettering
67766785a5 Limit silence buffer size for pa_sink_render()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1498 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-24 16:17:30 +00:00
Lennart Poettering
de02c74916 Track the 'missing' variable safely between the threads
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1497 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-24 16:17:02 +00:00
Lennart Poettering
d873731810 rework the logic of pa_asyncq
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1496 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-24 16:15:56 +00:00
Lennart Poettering
77ebe70443 Make sure the returned pa_msgobject object has a valid refcnt before returning it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1495 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-24 16:11:52 +00:00
Lennart Poettering
099f3f22d1 Include assert.h, since we use assert() for our pa_assert() macro
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1494 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-24 16:10:12 +00:00
Lennart Poettering
a9fcd5956b Fix length calculation in pa_silence_memblock_new() and make use of pa_assert() everywhere instead of assert()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1493 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-24 16:09:43 +00:00
Lennart Poettering
013a55a692 remove underrun condition in pa_sinks. Instead return silence in pa_sink_render() when necessary. This is required to guarantee that the time functions in connected sink inputs stays linear
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1490 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-23 20:04:47 +00:00
Lennart Poettering
e24c8dea5b Fix minor typo
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1485 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-23 19:53:11 +00:00
Lennart Poettering
94f6ab5fba Fix another ugly typo, which made source outputs unusable
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1483 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-14 20:14:33 +00:00
Lennart Poettering
e279778848 use pa_memblockq_push_align() instead of pa_memblockq_push() to deal with unaligned data coming from clients
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1482 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-14 20:13:44 +00:00