Wim Taymans
2622e085a9
pod: add more helpers
...
Implement more unit-tests
2019-01-17 17:23:47 +01:00
Wim Taymans
5376832676
builder: control_header -> control
2019-01-17 17:11:58 +01:00
Wim Taymans
80cfda89c1
pod: improve the vararg pod builder and parser
...
Automatically parse and build key/value when in objects without having
to prefix the key with ":"
Automatically build control/value when in sequence without the "."
prefix.
Remove the builder with key/pod, taking a reference to the stack built
temporary pods is not allowed in c++. We can use the varargs version
with the same convenient syntax.
Remove the parser "*" option, it is unused.
Improve spa_pod_builder_add_* and spa_pod_parser_get_* and make them
look similar.
2019-01-16 11:05:12 +01:00
Wim Taymans
3dc6820e9e
Don't use __ in defines or declarations, it's reserved
...
SPA_TYPE -> SPA_TYPE_INFO for type info strings
improve includes
Fixes #115
2019-01-14 13:00:00 +01:00
Wim Taymans
1a27d7da1d
interfaces: remove core permissions
...
Use the client update_permissions call instead
2019-01-10 11:09:05 +01:00
Wim Taymans
66bab1d9b2
remote: remove some events
...
Remove some events from the remote that we can find on the core_proxy.
Use the core_proxy to get to the done and info events.
Remove pw_remote_get_core_info(), we don't need this anymore now that
we don't listen for the event and the user can keep track of this
herself.
2019-01-10 10:08:14 +01:00
Wim Taymans
349a11cde5
add const to info
2019-01-09 17:49:45 +01:00
Wim Taymans
1ed27a8f2b
add _GNU_SOURCE as compiler flag
2019-01-08 17:36:58 +01:00
Wim Taymans
979d155382
core: add user_data to core
2019-01-08 17:32:37 +01:00
Wim Taymans
5b7ddb0105
buffer: remove buffer id
...
The buffer id is not needed/used, we use the index of the buffer in the
buffer array when configuring the port.
2019-01-07 17:57:03 +01:00
Wim Taymans
e918f9f77c
fix sign confusion
2019-01-07 15:52:42 +01:00
Wim Taymans
0984096089
free() can handle NULL just fine so skip the check
...
Fixes #117
2018-12-19 17:47:25 +01:00
Wim Taymans
4be368c957
media-session: handle dont-reconnect
...
If dont-reconnect is given and a target node, kill the stream when
the target node can't be found.
2018-12-14 16:35:57 +01:00
Wim Taymans
8e969c9d44
media-session: set media (sub)type on dsp nodes
2018-12-13 17:26:35 +01:00
Wim Taymans
3ab95f66f3
media-session: don't set audio profile on non-audio nodes
2018-12-13 17:18:37 +01:00
Wim Taymans
491dd785ad
media-session: only try to link to nodes
2018-12-12 18:32:28 +01:00
Wim Taymans
2bd7f5c934
media-session: skip non-dsp ports on dsp nodes
...
Detect DSP nodes sooner, flag pads that have the dsp property, skip
ports on DSP nodes without the dsp flag.
2018-12-11 16:32:19 +01:00
Wim Taymans
5fcbbb4d6b
media-session: keep track of profile format
...
Also keep track of the profile format of a node, this is the profile we
choose for it and what we should use as a profile for the peer node.
2018-12-05 15:59:45 +01:00
Wim Taymans
7091ad340d
video-play: check valid metadata
2018-11-30 15:53:31 +01:00
Wim Taymans
537399bbe5
video-play: handle arbitrary cursor sizes
...
video-play: only allocate the texture when we know the size and
format of the cursor bitmap.
video-src: make cursor size defined with constants.
2018-11-30 15:31:55 +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
4810d91c58
media-session: use direction to derive CATEGORY
...
Try to use the stream direction to figure out the CATEGORY when missing.
Add some more debug
2018-11-28 17:32:35 +01:00
Wim Taymans
7c54b4b89c
audio-dsp: improve properties
2018-11-28 13:24:33 +01:00
Wim Taymans
cff8ce8e99
media-session: set device name
2018-11-28 12:21:19 +01:00
Wim Taymans
25c81e8c34
media-session: only add DSP for raw audio nodes
2018-11-21 12:19:47 +01:00
Wim Taymans
c9f7439b52
media-session: debug profile
2018-11-16 16:41:13 +01:00
Wim Taymans
e03289b4ac
video-src: print node id
2018-11-12 09:52:59 +01:00
Wim Taymans
7925aed863
video-src: use FLAG_MAP_BUFFERS
2018-11-08 11:43:35 +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
bf6843743a
export-sink: implement set_io
2018-11-06 15:21:53 +01:00
Wim Taymans
85f2e93c54
Relicense as MIT/X11
...
Remove some obsolete files
2018-11-05 17:48:52 +01:00
Wim Taymans
eb0a561f8c
permissions: pass pw_permission struct around
...
Use a pw_permission struct to express permissions of object.
Improve client permissions, add/remove globals when permissions
are changed.
2018-11-05 15:02:08 +01:00
Wim Taymans
b905b70a76
stream: pass target id as uint32_t
2018-11-02 11:52:39 +01:00
Wim Taymans
32afd8d228
video-src: the size is a range
2018-10-31 10:57:26 +00:00
Wim Taymans
ee72023629
media-session: try to connect to the node directly
...
If we can't find a session for the target node, try to connect to the
node directly if it exists.
2018-10-30 16:30:16 +00:00
Wim Taymans
e1583146ff
video-src: Add alternative style format pod example
2018-10-30 15:34:54 +00:00
Wim Taymans
83517e22ac
media-session: set permissions on restricted access clients
2018-10-29 08:47:45 +00:00
Wim Taymans
5088bcce60
module-access: make new access module
...
Rename the flatpak module to access module. The access module should
either let the client connect or mask the client busy while the
permissions are being configured. It is then up to the session manager
to collect the right permissions of the objects and configure those
in the client.
Let the media session monitor the clients and configure the permissions.
2018-10-27 17:33:21 +01:00
Wim Taymans
e59a7c0848
media-session: set node volume
2018-10-18 15:16:59 +02:00
Wim Taymans
fd5e315a10
media-session: handle default media roles better
...
Use the media.class to derive a better role.
2018-10-18 12:53:30 +02:00
Wim Taymans
0fe0d5dd85
media-session: also enable session for video
2018-10-15 17:51:47 +02:00
Wim Taymans
2b096993ed
media-session: only enable session when format is known
2018-10-15 12:46:50 +02:00
Wim Taymans
b3189bb5e7
media-session: handle port without node
...
Don't crash when the node proxy is destroyed before the port proxy.
2018-10-11 15:56:49 +02:00
Wim Taymans
805240258b
Improve channel positions
...
Sort the channel positions as the suggested format
Use the session node channel positions as the target profile
2018-10-09 20:11:01 +02:00
Wim Taymans
e1ec1bad23
spa: add profile param
...
Make a profile param that can be used to configure a node with a
certain profile.
Use the profile to configure the ports on splitter and merger and
get rid of the dynamic ports.
Use the profile to configure the client-node and audio-dsp.
Don't try to link more ports than available between client-node and
dsp.
2018-10-08 11:45:52 +02:00
Wim Taymans
41d38e56df
media-session: keep track of dsp proxy
...
Keep the dsp_proxy around because we need it to clean up the
session.
2018-10-05 10:28:20 +02:00
Wim Taymans
b2e84e85c6
media-session: query stream format
...
Query the stream format. We will use this later to decide what to link
to and how to convert.
2018-10-04 16:41:00 +02:00
Wim Taymans
32e4d676b4
media-session: clear manager after cleanup
2018-10-02 05:45:50 +02:00