Commit graph

1624 commits

Author SHA1 Message Date
Lennart Poettering
6eb2f88c5d add two new functions pa_make_path_absolute()/pa_getcwd()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1737 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-31 00:51:01 +00:00
Lennart Poettering
c627871fdb replace a pa_assert() by an pa_assert_se()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1736 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-31 00:22:58 +00:00
Lennart Poettering
f59dd18fe6 - fix suspend handling
- set sink description properly
- honour resample_method setting


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1735 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-31 00:22:31 +00:00
Lennart Poettering
241ad047c8 port module-combine to new core
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1734 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:58:12 +00:00
Lennart Poettering
4d623f0d44 Lots of assorted minor cleanups and fixes:
* s/disconnect/unlink/ at many places where it makes sense
* make "start_corked" a normal pa_sink_input/pa_source_output flag instead of a seperate boolean variable
* add generic process() function to pa_sink_input/pa_source_output vtable that can be used by streams to do some arbitrary processing in each rt loop iteration even the sink/source is suspended
* add detach()/attach() functions to pa_sink_input/pa_source_output vtable that are called when ever the rtpoll object of the event thread changes
* add suspend() functions to pa_sink_input/pa_source_output vtable which are called whenever the sink/source they are attached to suspends/resumes
* add PA_SINK_INIT/PA_SOURCE_INIT/PA_SINK_INPUT_INIT/PA_SINK_OUTPUT_INIT states to state machines which is active between _new() and _put()
* seperate _put() from _new() for pa_sink/pa_source
* add PA_SOURCE_OUTPUT_DONT_MOVE/PA_SINK_INPUT_DONT_MOVE flags
* make the pa_rtpoll object a property of pa_sink/pa_source to allow streams attached to them make use of it
* fix skipping over move_silence
* update module-pipe-source to make use of pa_rtpoll
* add pa_sink_skip() as optimization in cases where the actualy data returned by pa_sink_render() doesn't matter


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1733 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:57:53 +00:00
Lennart Poettering
b552541dd1 reorder initialization of pa_core variables
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1732 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:44:19 +00:00
Lennart Poettering
ca72adf100 modernize and make use of a static flist for allocating idxset entries
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1731 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:43:35 +00:00
Lennart Poettering
821eb8e295 move queue processing code into pa_thread_mq
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1730 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:42:47 +00:00
Lennart Poettering
687f1f15fc add new function pa_memblock_ref_is_one()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1729 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:42:02 +00:00
Lennart Poettering
c2e4328c53 fix pa_memchunk_make_writable(), make memchunk functions return the memchunk they modify
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1728 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:41:33 +00:00
Lennart Poettering
bfe69cebf3 add an assert()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1727 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:40:11 +00:00
Lennart Poettering
6817987116 add pa_timespec_reset()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1726 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:39:47 +00:00
Lennart Poettering
747b01be94 make passing a code pointer to pa_asyncmsgq_get() optional
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1725 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:39:24 +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
d88514c58c drop check for gid < 500, since this isn't really a security improvement, re: #111
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1723 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-26 01:10:55 +00:00
Lennart Poettering
0362350fa8 Add option --dump-resample-methods to list available resampler implementations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1722 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-25 23:49:11 +00:00
Lennart Poettering
782d5a53d9 make floating point speex resampler the default
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1721 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-25 23:40:16 +00:00
Lennart Poettering
89fcd51b7b enable -ffast-math for gcc
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1720 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-25 23:32:37 +00:00
Lennart Poettering
f82067f6de lower suspend timeout to 1s
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1719 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-25 22:27:51 +00:00
Lennart Poettering
f4e2d2331a include ffmpeg resampler in build
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1718 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-25 22:27:24 +00:00
Lennart Poettering
9439e81de1 make ffmpeg resampler actually work
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1717 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-25 22:26:59 +00:00
Lennart Poettering
f0dbbe966f add makefiles to speex/ and ffmpeg/ to easy compilation from emacs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1715 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-24 00:23:48 +00:00
Lennart Poettering
640ae04589 Copy resampler from ffmpeg into our sources
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1714 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-24 00:23:22 +00:00
Lennart Poettering
f754a24cd2 make speex resampler the default
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1713 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-23 22:35:58 +00:00
Lennart Poettering
ed4dc16b95 big resampler rework: support integer-only resampling, support speex resampler
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1712 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-23 22:35:40 +00:00
Lennart Poettering
4eb9bb0746 fix a bad memory access when destructing pa_memimports
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1711 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-23 22:34:49 +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
c72d4c6b9e add a small speex wrapper so that we can include both the fp and the fixed-point resampler in the same binary
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1709 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-23 22:32:58 +00:00
Lennart Poettering
fdead579b7 build speex resampler tiwce, once for fixed point, one for floating point
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1708 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-23 22:31:51 +00:00
Lennart Poettering
5ff891c156 add a copy of the speex resampler to our sources
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1707 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-23 22:31:01 +00:00
Lennart Poettering
b3b382d8ef fix minor typo
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1706 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 22:36:39 +00:00
Lennart Poettering
9d381599be port remaining sinks to pa_rtpoll
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1705 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 22:27:53 +00:00
Lennart Poettering
1bfa1802d4 minor cleanups
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1704 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 22:27:07 +00:00
Lennart Poettering
0ff2afd8a6 support absolute, relative and periodic timers in pa_rtpoll
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1703 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 22:26:30 +00:00
Lennart Poettering
53b872c070 port alsa driver to make use of new pa_rtpoll object
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1702 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 17:13:07 +00:00
Lennart Poettering
79d3dddecd reverse hrtimer check, add missing #include
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1701 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 17:11:54 +00:00
Lennart Poettering
b937009bcd add convenience functions to hook up pa_fdsem and pa_asyncmsgq to an pa_rtpoll; add pa_rtpoll_item_get_userdata(), on EINTR/EAGAIN, reset revents; automatically destory left over items
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1700 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 17:11:26 +00:00
Lennart Poettering
7490977a84 add missing include
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1699 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 17:06:04 +00:00
Lennart Poettering
0449966852 make pa_make_power_of_two() and pa_is_power_of_two() inline functions
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1698 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 17:05:41 +00:00
Lennart Poettering
190648a3ed add missing #include
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1697 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 17:05:07 +00:00
Lennart Poettering
0da65cf3df add message about hrtimers, and initialize pa_core::high_priority
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1696 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:29:15 +00:00
Lennart Poettering
0af0fb8f9c hide rtpoll-test from svn
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1695 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:28:04 +00:00
Lennart Poettering
7fca89034f check pa_core::high_priority before becoming rt thread
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1694 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:27:25 +00:00
Lennart Poettering
b3029464a4 add new option to pa_core stating whether we are running as high prio process
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1693 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:26:43 +00:00
Lennart Poettering
35461981c6 add check for ppoll()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1692 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:25:29 +00:00
Lennart Poettering
8568f7038c add rtpoll, rtclock, rtsig to Makefile
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1691 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:25:03 +00:00
Lennart Poettering
dc9d80326e add test program for pa_rtpoll
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1690 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:24:31 +00:00
Lennart Poettering
78c362c5d9 add new realtime event loop abstraction which precise time keeping by using hrtimers on Linux, if they are available
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1689 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:24:12 +00:00
Lennart Poettering
8972d06bc7 add facility for managing realtime signals
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1688 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:23:33 +00:00
Lennart Poettering
ef2bc41b87 add monotonic clock abstraction pa_rtclock
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1687 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:22:51 +00:00