summaryrefslogtreecommitdiffstats
path: root/src/modules/module-alsa-source.c
Commit message (Collapse)AuthorAgeFilesLines
* make use of pa_thread_mq everywhereLennart Poettering2007-08-101-14/+18
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1624 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * drop redundant pa_core argument from module initialization functionsLennart Poettering2007-08-101-9/+7
| | | | | | | | | | | | * make pa__done() implementations optional * a couple of modernizations * wrap lt_dlsym() at a single place * allow passing of an "api" argument to the HAL module, to choose whether OSS devices or ALSA devices should be picked up * optimize fd closing a little on linux in the forked gconf helper * save a little memory in the xsmp module git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1615 fefdeb5f-60dc-0310-8127-8f9354f1896f
* don't hit an assert when we cannot resume a deviceLennart Poettering2007-08-091-2/+4
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1599 fefdeb5f-60dc-0310-8127-8f9354f1896f
* properly reinitialize pollfd array after resumeLennart Poettering2007-08-081-27/+53
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1590 fefdeb5f-60dc-0310-8127-8f9354f1896f
* reinitialize sw params after resumeLennart Poettering2007-08-071-3/+6
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1587 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Don't stop hardware on buffer underruns. Instead continue playing to ↵Lennart Poettering2007-08-031-19/+29
| | | | | | guarantee that our time function stays as linear as possible. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1566 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Remove unnecessary snd_pcm_hwsync()Lennart Poettering2007-08-031-1/+0
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1565 fefdeb5f-60dc-0310-8127-8f9354f1896f
* On recommendation of Takashi Iwai prefer Master volume control over PCM and ↵Lennart Poettering2007-08-031-1/+1
| | | | | | don't control Mic control git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1564 fefdeb5f-60dc-0310-8127-8f9354f1896f
* A lot of updates, all necessary to get the native protocol ported:Lennart Poettering2007-07-311-6/+7
| | | | | | | | | | | | | * 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
* port module-alsa-source to new lock-free coreLennart Poettering2007-07-281-241/+553
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1561 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Merge HUGE set of changes temporarily into a branch, to allow me to move ↵Lennart Poettering2007-06-111-3/+7
| | | | | | 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
* Handle suspended alsa devices. Based on patch by ranma. (closes #26)Pierre Ossman2007-03-021-0/+39
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1433 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add copyright notices to all relevant files. (based on svn log)Pierre Ossman2007-02-131-0/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Huge trailing whitespace cleanup. Let's keep the tree pure from here on,Pierre Ossman2007-01-041-29/+29
| | | | | | | mmmkay? git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Revert r1404 and keep it on a development branch until it is fully tested.Pierre Ossman2006-11-061-7/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1409 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rework memory block management to be thread-safe and mostly lock-free.Lennart Poettering2006-09-261-3/+7
| | | | | | | | | | | | | | | | | | | | | 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
* remove all occurences of Lennart Poettering2006-08-181-19/+19
| | | | | | | | | | | | 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
* Rework memory management to allow shared memory data transfer. The central ideaLennart Poettering2006-08-181-1/+1
| | | | | | | | | | | | | | | 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
* make use of pa_sink_used_by()/pa_source_used_by() wherever applicableLennart Poettering2006-08-121-2/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1227 fefdeb5f-60dc-0310-8127-8f9354f1896f
* generate default sink/source names from the device files they belong toLennart Poettering2006-08-121-3/+14
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1223 fefdeb5f-60dc-0310-8127-8f9354f1896f
* don't set the sink/source descriptions manually, use the new functions ↵Lennart Poettering2006-08-111-1/+3
| | | | | | pa_{sink,source}_set_description() instead git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1205 fefdeb5f-60dc-0310-8127-8f9354f1896f
* shorten sink/source device descriptions a littleLennart Poettering2006-08-111-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1201 fefdeb5f-60dc-0310-8127-8f9354f1896f
* ALSA: handle write()/read() errors properly by unloading the driver module. ↵Lennart Poettering2006-08-111-24/+52
| | | | | | This should fix problems when removing USB audio device while pulseaudio is running. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1194 fefdeb5f-60dc-0310-8127-8f9354f1896f
* try to reduce volume updates in the ALSA sinks/sources: only touch the ↵Lennart Poettering2006-08-071-9/+13
| | | | | | shadowed hw volme if necessary git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1189 fefdeb5f-60dc-0310-8127-8f9354f1896f
* set is_hardware flag for a few hw pluginsLennart Poettering2006-07-161-0/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1092 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix segfault when module-alsa-source fails to loadLennart Poettering2006-06-201-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1049 fefdeb5f-60dc-0310-8127-8f9354f1896f
* big s/polyp/pulse/gLennart Poettering2006-06-191-15/+15
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * alsa-sink: if "PCM" is not found as mixer track name, fallback to "Master"Lennart Poettering2006-05-301-1/+1
| | | | | | | * alsa-source: if "Capture" is not found as mixer track name, fallback to "Mic" git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@993 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * if an ALSA device doesn't support the channel count requested, use what ↵Lennart Poettering2006-05-301-4/+11
| | | | | | | | | | ALSA suggests instead * if an ALSA device doesn't support the sampling freq requested, use what ALSA suggests and resample if this deviates more than 10% from what we requested * fix segfault freeing an unitialized mixer_fdl field git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@992 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * split pa_cstrerror() into its own file polypcore/core-error.[ch]Lennart Poettering2006-05-251-1/+1
| | | | | | | | * fix building of padsp * remove a warning when compiling padsp.c git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@972 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Wrap strerror() in a function that makes it thread safe and converts thePierre Ossman2006-05-221-1/+2
| | | | | | | output to UTF-8. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@945 fefdeb5f-60dc-0310-8127-8f9354f1896f
* split polypcore/util.[ch] into polypcore/core-util.[ch] and polyp/util.[ch]Lennart Poettering2006-05-171-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@917 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Move xmalloc to the public side (libpolyp).Pierre Ossman2006-05-171-1/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@908 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * modify pa_channel_map_init_auto() to take an extra argument specifying the ↵Lennart Poettering2006-05-161-12/+1
| | | | | | | | | standard to use (ALSA, AIFF, ...) * add some more validity checks to pa_source_new(),pa_sink_new(),pa_sink_input_new(),pa_source_output_new() git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@888 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * set default fragment metrics depending on the sample specs of the device ↵Lennart Poettering2006-05-131-3/+5
| | | | | | | | | in OSS and ALSA * fix fragment size calculation in module-alsa-sink git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@855 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix fragment size calculation for module-alsa-sourceLennart Poettering2006-05-131-5/+9
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@852 fefdeb5f-60dc-0310-8127-8f9354f1896f
* use default alsa channel map for alsa devicesLennart Poettering2006-05-131-1/+13
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@851 fefdeb5f-60dc-0310-8127-8f9354f1896f
* When a control is removed, all bits are set so we need to test for that first.Pierre Ossman2006-04-281-0/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@819 fefdeb5f-60dc-0310-8127-8f9354f1896f
* support new channel_map argument in sink/source modulesLennart Poettering2006-04-261-3/+13
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@803 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fall back to software volume if hardware mixer cannot control all channels.Pierre Ossman2006-04-251-36/+26
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@796 fefdeb5f-60dc-0310-8127-8f9354f1896f
* clip volume at PA_VOLUME_NORM for alsa devicesLennart Poettering2006-04-081-2/+12
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@666 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fix some warnings caused by size_t having varying size.Pierre Ossman2006-03-311-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@641 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fetch sound card name into sink/source description.Pierre Ossman2006-03-051-1/+11
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@631 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Tried to get the volume information even upon init failure.Pierre Ossman2006-03-051-4/+4
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@626 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Get notifications about mixer changes from ALSA.Pierre Ossman2006-02-261-6/+38
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@607 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Handle ALSA file descriptors more correctly. This means a bit more overhead,Pierre Ossman2006-02-261-8/+9
| | | | | | | but following their API properly should avoid problems in the future. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@606 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fix correct default device.Pierre Ossman2006-02-261-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@605 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Hardware volume support in ALSA modules.Pierre Ossman2006-02-261-0/+140
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@604 fefdeb5f-60dc-0310-8127-8f9354f1896f
* change pa_log() and friends to not require a trailing \n on all logged stringsLennart Poettering2006-02-231-11/+11
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@574 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Cleaned up the includes after the restructuring. Indicate which headers arePierre Ossman2006-02-171-1/+1
| | | | | | | public and which are internal through <> vs "". git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@500 fefdeb5f-60dc-0310-8127-8f9354f1896f