Commit graph

598 commits

Author SHA1 Message Date
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
d8db090ac2 alsa: only remove sources when they were added 2018-11-12 15:52:11 +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
Wim Taymans
e47bfa02e5 audiotestsrc: properties are float 2018-11-07 11:57:58 +01:00
Wim Taymans
4d7311aca1 channelmix: handle stereo to mono 2018-11-07 11:57:19 +01:00
Wim Taymans
2b88dde567 fmtconvert: add conversions for planar to planar 2018-11-07 11:56:19 +01:00
Wim Taymans
00a570f7de audio-format: set unpossisioned flag
If we don't have position information in the format, set the
unpositioned flag. Don't set position info in the format when the
unpositioned flag is set.
2018-11-07 11:54:23 +01:00
Wim Taymans
aade499aae fix TIMESPEC_TO_NSEC 2018-11-07 10:07:48 +01:00
Wim Taymans
088ee9f09e Improve TIMESPEC_TO_TIME
Add explicit TO_NSEC and TO_USEC versions to make it clearer and to
allow for some optimizations.
2018-11-07 09:56:24 +01:00
Wim Taymans
85f2e93c54 Relicense as MIT/X11
Remove some obsolete files
2018-11-05 17:48:52 +01:00
Wim Taymans
9088b2f0d9 splitter: fix compilation 2018-11-02 17:51:30 +01:00
Wim Taymans
7b6df9e127 audioconvert: don't clear profile when format is cleared 2018-11-02 17:19:15 +01:00
Wim Taymans
6bb90ed88e alsa: refactor get_status 2018-10-31 15:21:23 +00:00
Wim Taymans
10531d99eb fmt: fix conversion 2018-10-31 10:40:06 +00:00
Wim Taymans
63363d09dd fmt: small fix to s16 conversion 2018-10-31 09:38:31 +00:00
Wim Taymans
093c675995 a2dp: don't faile set_io 2018-10-30 16:29:39 +00:00
Wim Taymans
ef7a111611 fmt: fix and enable f32 -> s16 conversion 2018-10-30 08:37:07 +00:00
Wim Taymans
4432db4fa7 fmt-ops: fix conversion 2018-10-29 18:38:14 +00:00
Wim Taymans
ae9843aca2 disable s16 sse until fixed 2018-10-29 14:07:19 +00:00
Wim Taymans
9f61ef96ff fmt-ops: add f32 -> s16 see optimisations 2018-10-29 09:21:33 +00:00
Wim Taymans
9a969ac756 v4l2: we set clock and position on the node now 2018-10-27 10:11:27 +01:00
Wim Taymans
2206deb3e8 alsa: implement set_io and handle position io
Use position io for deciding the size of the output buffers in
alsasrc
2018-10-24 10:27:57 +02:00
Wim Taymans
66de372e9a add node set_io function
Also allow setting io areas on nodes. We need this to set the
graph clock and period size on the nodes.
2018-10-23 12:31:41 +02:00
Wim Taymans
d2570142fa resample: don't output 0 buffers 2018-10-22 11:32:53 +02:00
Wim Taymans
f2e03077a8 audioconvert: add volume and mute property
Expose volume and mute property in channelmix and use this
in audioconvert.
2018-10-18 15:04:40 +02:00
Wim Taymans
79e976e5d7 audioconvert: small cleanups 2018-10-18 12:47:46 +02:00
Wim Taymans
6590d3a258 alsa: sanitize channel map
Remove unknown channels
Remove duplicate channels
Fill unknown channels with default channels
2018-10-17 12:44:05 +02:00
Wim Taymans
d27674722a improve debug and error handling 2018-10-17 10:02:44 +02:00
Wim Taymans
6c7d2d0e1e alsa-utils: enumerate channels using channel map
When there is a channelmap, return format descriptions for each layout
otherwise return a range.
2018-10-16 18:10:43 +02:00