Commit graph

7526 commits

Author SHA1 Message Date
Pauli Virtanen
04f3948bb1 doc: avoid duplicate file listings in groups 2021-10-04 20:55:04 +03:00
Pauli Virtanen
49901f2d61 doc: add brief explanations for all groups 2021-10-04 20:55:04 +03:00
Pauli Virtanen
125051a700 doc: reorganize some \pages, and fix some group names
Move \pages having to do with the API usage to the API section.
Better group names for some groups.
2021-10-04 20:39:56 +03:00
Pauli Virtanen
f9cdc617a8 doc: don't generate Doxygen file list
The file list duplicates the Module structure, and is just confusing
since it also contains the .c files.
2021-10-04 20:37:35 +03:00
Wim Taymans
26c7d48f0a impl-metadata: implement exposed method 2021-10-04 13:49:35 +02:00
Pauli Virtanen
c620121529 bluez5: add faststream quirks
For some devices FastStream causes problems. Add quirk for disabling it.
2021-10-03 20:55:02 +03:00
Pauli Virtanen
84bc0490a5 bluez5: tweak msbc adapter probe for Intel adapters
The msbc capability connection probe seems to cause problems on Intel
Bluetooth 8087:0a2b (Intel 8265), resulting to subsequent connections
apparently ending up with wrong altsetting.

According to testing, the problem is connecting to self, so connect to
device instead.

Fixes #1671
2021-10-03 17:27:42 +00:00
Pauli Virtanen
601560e343 doc: hide various Doxygen generated dot graphs
The Doxygen autogenerated graphs are very useful and take up lots of
space being on the top, so disable them.

Also disable references/referenced by relations, which add clutter.

Also hide most macro values.
2021-10-03 15:39:27 +03:00
Pauli Virtanen
8159797f89 doc: reorganize Doxygen groups/modules to make more sense
The Doxygen "Modules" page is not very illuminative, as different parts
of the API are mixed together and not all parts are included.

Try to address this:

Put all parts of the public API to some Doxygen group, usually one group
per header file. Use short, systematic names.

Make these groups sub-groups of a few top-level groups, roughly
corresponding to the different logical parts of the API (core, impl,
stream, filter, spa, utilities).
2021-10-03 15:39:27 +03:00
Pauli Virtanen
43a84c4a2c doc: include files in Doxygen groups
File is included in all groups for which it contains \addtogroup
2021-10-03 15:02:39 +03:00
Pauli Virtanen
de7f78f4bd doc: add \copydoc, \sa links for (struct methods) function/macros
Add manually cross-references for struct methods callback
macros/functions, in cases where they're too hard to parse for the
Doxygen input filter.
2021-10-03 14:12:49 +03:00
Wim Taymans
392b2f1f96 dbuf: use log topic 2021-10-03 12:27:20 +02:00
Wim Taymans
783ae4d4e9 libcamera: use log topic 2021-10-03 12:26:00 +02:00
Wim Taymans
865635ef10 v4l2: use log topic 2021-10-03 12:12:09 +02:00
Wim Taymans
a95937dfdb log: remove NAME as log prefix, topic is enough 2021-10-03 12:03:45 +02:00
Wim Taymans
f275e3baaa jack: add jack log topic 2021-10-03 08:52:27 +02:00
Wim Taymans
786cfc44fb log: add work-queue topic 2021-10-03 08:30:46 +02:00
Wim Taymans
f562b16706 alsa-plugin: use log topics 2021-10-03 08:17:43 +02:00
Wim Taymans
dfdd9a6b3b alsa: don't prefix NAME, log topics are enough 2021-10-03 08:05:40 +02:00
Wim Taymans
d43fdf9f5b log: add mem topic 2021-10-03 07:55:00 +02:00
Pauli Virtanen
cd94eff5f2 doc: add Doxygen filter that adds docs to struct *method macros
Add an input filter that tries to link e.g.

 #define pw_core_add_listener(...) pw_core_method(c,add_listener,...)

to the corresponding declaration in struct pw_core_methods.
2021-10-03 00:40:52 +03:00
Pauli Virtanen
4cb24531b3 doc: ignore symbols due to Doxygen mis-parsing
Ignore some symbols appearing as "Variables", which seem to be due to
some mis-parsing.
2021-10-03 00:40:52 +03:00
Pauli Virtanen
c345d1e11d doc: make Doxygen to show only symbols defined in headers
Make Doxygen data structure etc. lists less cluttered by hiding
non-public stuff.

Add a Doxygen input filter that marks symbols declared in C files
private, so that they won't appear in the output unless the symbol is
also declared in a header.

The "spa static inline" hack is then also not needed any more.
2021-10-03 00:40:52 +03:00
Wim Taymans
1ba805ac7e log: add stream and filter topics 2021-10-02 14:02:23 +02:00
Wim Taymans
5522e9cb1c log: add loop and mainloop topics 2021-10-02 13:54:22 +02:00
Wim Taymans
e1b38e6dd4 impl-link: add link topic 2021-10-02 13:50:08 +02:00
Wim Taymans
e9af0e4ef8 log: add topic for data and thread loop 2021-10-02 13:44:50 +02:00
Wim Taymans
f0085b383e impl-port: remove NAME prefix 2021-10-02 12:52:42 +02:00
Wim Taymans
9cc34cfe99 buffers: add log topic 2021-10-02 12:46:48 +02:00
Pauli Virtanen
a86ff85444 bluez5: tolerate devices sending incorrect AAC caps
There is a report (#1342) of a device setting multiple bits for AAC
object type in SetConfiguration, although this appears to be forbidden.

It's not completely clear if this was due to e.g. some BlueZ bug, but it
should be safe to be lax and try to guess what is wanted in such case,
instead of being strict, in case it was due to device bug.
2021-10-02 10:29:48 +00:00
Pauli Virtanen
3092e4a7be bluez5: implement validate_config for AAC
Allows bailing out earlier on invalid config, and setting transport
channel info.
2021-10-02 10:29:48 +00:00
Pauli Virtanen
58c7caf1bc bluez5: use log topics
Use log topics instead of prepending NAME: to log messages.
2021-10-02 12:46:02 +03:00
Gleb Popov
42d8b2b167 Remove legacy FreeBSD compatibility code 2021-10-01 18:09:44 +03:00
Wim Taymans
b418b876e4 media-session: don't try to remap to unpositioned formats
check if a node has AUX channels and mark it as unpositioned in that
case.

If the peer node we need to link to has unpositioned channels, don't try
to configure the node for the unpositioned layout but instead configure
it to its default format and link the ports one by one, as many as there
are.

This is mostly for Pro-audio devices. It does not make sense to
try to remix a stereo stream to 18 channels. Most likely the pro-audio
card does not have 18 speakers connected and we would not known how to
remix anyway because the channels don't have a position. So, just take
the 2 channels and link them to the 2 first AUX inputs, which is usually
more correct and mimics what other players do when outputting to JACK.

If a specific remapping needs to be done for the pro-audio card, it
needs to be configured with a virtual device.
2021-10-01 16:17:24 +02:00
Wim Taymans
0caafffa12 media-session: link AUX nodes as well
Anything can link to an AUX node if nothing else is available, just
like the UNKNOWN and MONO ports.
2021-10-01 16:16:10 +02:00
Wim Taymans
3348fd9885 alsa-plugin: make sure we don't deref NULL
Also fixes a warning.
2021-10-01 15:33:51 +02:00
Wim Taymans
9a76feb913 libcamera: handle MemFd buffers
Use EXPBUF when requesting MemFd buffers because it is mostly correct
for v4l2.
2021-10-01 13:19:14 +02:00
Wim Taymans
487792941d libcamera: remove \n in log lines 2021-10-01 12:28:53 +02:00
Wim Taymans
7cf0afe299 jack: fix port check
We need to actually use the port object to check if it's ours.
2021-10-01 09:53:35 +02:00
Wim Taymans
512e4e4b83 jack: wait with emiting connect_callback
For our own ports, wait with emiting the connect_callback until we have
negotiated buffers on them (and have the peer_id). Some applications
use the connect_callback to decide when to start processing so we need
those buffers before we can do that.

Fixes startup issues with jack_midi_latency_test.
2021-10-01 09:33:19 +02:00
Wim Taymans
a559b96d61 jack: improve _is_mine() check
Also check the client, in case someone uses a port from another
client.
2021-10-01 09:33:19 +02:00
Wim Taymans
3dde9fef9c client-node: send the right peer_id
Output ports share the same buffers on all mix outputs and the buffers
are stored in a special mix area with id SPA_ID_INVALID.

The special mix area does not have the peer_id of the link, we need to
get that from the non-shared mix area.

This fixes some invalid peer port-id values in the set_mix_info event.
2021-10-01 09:33:19 +02:00
Joshua Strobl
ddfbd684e7 Fix readline detection by allowing fallback to cc find_library 2021-09-30 21:27:47 +00:00
Pauli Virtanen
d6509a243d bluez5: fix device.profile setting
Only keys with names starting with "bluez" are passed on to device
settings dict. Rename device.profile to match this.

Also add some debug.
2021-09-30 22:39:34 +03:00
Pauli Virtanen
e84f1c6eed bluez5: update bluez-hardware.conf
Closes #1592
2021-09-30 20:01:06 +03:00
Wim Taymans
d90799c14e doc: add link to wiki 2021-09-30 13:31:08 +02:00
Wim Taymans
d71a10b7fa libcamera: handle failure gracefully
Don't try to access NULL pointers
2021-09-30 12:54:29 +02:00
Wim Taymans
f8817b4394 cpu: fix compilation on ARM 2021-09-30 11:12:27 +02:00
Wim Taymans
47a294c5bf 0.3.38 2021-09-30 10:42:30 +02:00
Peter Hutterer
8352e47878 media-session: warn if WirePlumber is running on startup
Matches WirePlumber commit 2bc999594 but here we merely print an error
messages instead of failing to start.
2021-09-30 08:30:55 +00:00