Commit graph

912 commits

Author SHA1 Message Date
Wim Taymans
4606d46621 channelmix: add more MONO mappings
Also just warn when we can't assign a channel
2018-12-11 16:53:53 +01:00
Wim Taymans
02585c6ca9 merger: add monitor ports
Add an option to enable monitor ports. Use this in the audio dsp
to expose monitor ports on the audio dsp nodes.
2018-12-11 16:35:40 +01:00
Wim Taymans
c42b108ac8 resample: small optimization 2018-12-10 12:58:10 +01:00
Wim Taymans
74c71e9bad resample: only free resampler when implemented 2018-12-05 16:05:40 +01:00
Wim Taymans
11a3370f12 merger: add some more debug 2018-12-05 15:59:22 +01:00
Wim Taymans
5fa7e0f3eb resample: add peaks resampler 2018-12-05 15:58:55 +01:00
Wim Taymans
e7462c470e channelmix: handle more conversion to mono 2018-12-05 15:54:07 +01:00
Wim Taymans
bf1c927087 alsa: reset queued and free buffers on start
When we are out of buffers, drop the available samples.
2018-12-05 11:23:30 +01:00
Wim Taymans
4e7af5644b alsa: set period size to something larger
Setting a small period size will also result in a small buffer, on some
cards smaller than what we can deal with right now.
2018-12-03 15:56:53 +01:00
Wim Taymans
d6836d89ee alsa: stop try writing samples when no progress 2018-11-30 17:52:48 +01:00
Wim Taymans
c5f5f1d94b alsa-device: remember current profile 2018-11-30 17:52:23 +01:00
Wim Taymans
ac5f0b851d meta: add cursor metadata and examples
Add a moving and flashing circle cursor to video-src
Render the cursor in video-play
Alsa add VideoCrop metadata
2018-11-30 15:12:46 +01:00
Wim Taymans
bf344a86e5 alsa: add on and off profiles 2018-11-29 15:24:13 +01:00
Wim Taymans
354bb042e2 alsa: retry _avail after xrun
..or else we pretend all is fine and end up with no available samples
to read in an infinite loop.
2018-11-29 15:19:33 +01:00
Wim Taymans
7c54b4b89c audio-dsp: improve properties 2018-11-28 13:24:33 +01:00
Wim Taymans
0c9dc75cb3 alsa: cleanup 2018-11-28 12:27:17 +01:00
Wim Taymans
59d77818d6 device: improve properties and info 2018-11-28 12:21:58 +01:00
Wim Taymans
72dee1686d alsa: clean up device info 2018-11-28 11:14:28 +01:00
Wim Taymans
bf43b55d16 bluez: check for bluez deps 2018-11-27 17:19:32 +01:00
Wim Taymans
249a12ee69 bluez: work on the bluez device
Add HSP and HFP profiles
Wait for profiles to connect before exposing the device
Implement SCO and RFCOMM connection handling
2018-11-27 17:08:36 +01:00
Wim Taymans
90571c2f52 audiotestsrc: fix build 2018-11-26 13:27:35 +01:00
Wim Taymans
7bc9c1ebfe node: remove info from node interface
Replace with info event emited when callbacks are set. This makes it
easier to implement dynamic changes.
2018-11-26 12:41:40 +01:00
Wim Taymans
57e94f7bc4 monitor: remove enum_items
Make the monitor and device emit the info and items when the callbacks
are set. This makes it easier to implement the monitor because there
is much less state to keep around and invalidate etc.
Rework the monitors
Add bluez5 device
2018-11-26 12:18:53 +01:00
Wim Taymans
36cbb947f1 alsa: add media.class to device 2018-11-23 19:28:47 +01:00
Wim Taymans
3ae39180ca improve monitors 2018-11-23 19:14:47 +01:00
Wim Taymans
e23c209a5f alsa: implement monitor and device 2018-11-23 17:41:39 +01:00
Wim Taymans
e1bd12e599 device: add device object
Make a device object, let the v4l2 monitor create device objects
The device object is responsible for dynamically creating nodes.
2018-11-23 12:43:47 +01:00
Wim Taymans
37c13eb83f fmt: fix offsets 2018-11-21 16:58:27 +01:00
Wim Taymans
6ee3a6003e channelmix: optimize some more 2018-11-21 16:45:31 +01:00
Wim Taymans
c8aa1f38df bluez5: negotiate AAC if possible 2018-11-21 15:51:44 +01:00
Wim Taymans
13010d5d2e fmt: use faster s24 to f32 conversion 2018-11-21 15:51:03 +01:00
Wim Taymans
5e8d9fb196 merger: fix enum_param 2018-11-21 12:18:56 +01:00
Wim Taymans
b27206c24a alsa: debug->trace 2018-11-20 16:13:56 +01:00
Wim Taymans
d70b4b2b10 alsa: more tweaks
Set the lowest possible period time, this lowers the latency.
Adjust slaved stream when we are drifting too much.
Use faster snd_pcm_avail and only use get_status when in error.
2018-11-20 16:08:57 +01:00
Wim Taymans
afd9a6c95f alsa: fix capture again 2018-11-19 18:03:45 +01:00
Wim Taymans
7e9b223216 alsa: reduce start latency 2018-11-19 12:01:36 +01:00
Wim Taymans
27451e4350 alsa: tweak dll some more after xrun 2018-11-19 11:51:51 +01:00
Wim Taymans
f063cc9086 audioconvert: improve negotiation
Configure format and buffers when the ports are configured instead of
in the start command.
2018-11-19 10:03:55 +01:00
Wim Taymans
0343297257 alsa: rework timing
Use a DLL to track the hardware pointer and use this to set the
timer.
Handle XRUN and recover.
2018-11-16 17:00:40 +01:00
Wim Taymans
5444b850d2 fmtconvert: improve enum_format 2018-11-16 16:56:33 +01:00
Wim Taymans
3e1e6b02b5 resample: add property to change resample rate 2018-11-16 16:54:56 +01:00
Wim Taymans
9d44d0b135 parser: add some utils to parse values 2018-11-16 16:52:04 +01:00
Wim Taymans
0303b7d1c5 props: add rate property 2018-11-16 16:48:49 +01:00
Wim Taymans
d8db090ac2 alsa: only remove sources when they were added 2018-11-12 15:52:11 +01:00
Wim Taymans
b6f01542d8 spa: explicitly cast the offset to signed int
As reported by Marcello Blancasio, convert the offset to a signed int
to avoid conversion without sign extension. Fixes unmap of stream
memory.

Fixes #103
2018-11-12 12:05:59 +01:00
Wim Taymans
416b9c254e alsa: have slaved sink
When we are slaved, calculate our rate difference with the master
2018-11-12 10:18:21 +01:00
Wim Taymans
6f555c63e2 alsa: set buffer_id in io to INVALID when in use 2018-11-12 09:56:45 +01:00
Wim Taymans
0f7a3bdb2a alsa: use dynamic bandwidth 2018-11-12 09:55:21 +01:00
Wim Taymans
e69cf24f24 alsa: add dll to estimate clock drift
Make delay signed in the clock io so that we can simply add it to the
tick to get the hw position.
Add clock drift to clock info
2018-11-09 15:26:08 +01:00
Wim Taymans
3267667d94 fmt: improve s24 to float conversion 2018-11-08 09:56:58 +01:00