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
Wim Taymans
b8fb7aeaad
media-session: handle disconnect better
2018-09-26 13:22:21 +02:00
Wim Taymans
650f9eb9a7
media-session: make device links passive again
2018-09-26 10:52:33 +02:00
Wim Taymans
59f10ad453
Add proxy destroy
...
Make the current destroy method on the core for proxies to remove the
server side resource.
Make a new destroy method on the registry to destroy globals.
Remove the destroy method on the client-node
media-session: monitor the dsp and device node states to manage the
session state
2018-09-21 16:43:11 +02:00
Wim Taymans
3d1acf3032
media-session: also link source to DSP
2018-09-20 10:12:04 +02:00
Wim Taymans
27cacaaa2e
video-play: free SDL data
2018-09-19 15:01:11 +02:00
Wim Taymans
3dc2254196
media-session: add suspend
2018-09-18 09:28:52 +02:00
Wim Taymans
96a84d09df
media-session: remove session when the driver node is removed
2018-09-17 17:17:08 +02:00
Wim Taymans
fcd90b25d3
More work on multichannel
...
Reorder channels to a more common default order.
Only add channel layout when channels > 1
Don't try to link to a session that is still starting
Small sse fixes.
2018-09-14 15:23:12 +02:00
Wim Taymans
5196f7f053
audio: remove layout from audio
...
Make special format types for planar and interleaved instead of
having a field.
Add enum for audio channel positions
Add some default audio channel layouts
Place the channel layout in the audio format when possible
alsa: place audio channel positions in format
Add sse optimized channel mixing for some common cases
Remove name from port info, it's not mandatory and in the properties
Add direction to port info
2018-09-13 17:03:56 +02:00
Wim Taymans
fb3379e587
Pass channelmask around and use it to name ports
...
Use the channel name in the port names of the dsp
2018-09-11 18:09:45 +02:00