Commit graph

13439 commits

Author SHA1 Message Date
Wim Taymans
bcddac6e2b stream: schedule process from main thread when asked
Use 2 lockfree queues so that we can queue and dequeue from different
threads.
Call the process function from the main thread when requested
Rework the data push and pull logic to go through the queues
Update the examples for this new feature, video-play does not need
to schedule the process in the main thread anymore and block for it
to complete, this avoid a deadlock between the data and mainloop when
shutting down.
2018-07-11 17:56:36 +02:00
Wim Taymans
fdc3d5c0f7 export-sink: be less verbose
Only report region once and only accept 1 region
2018-07-09 12:14:01 +02:00
Wim Taymans
f49ab32874 meta: add video damage region metadata
Add damage region meta
Implement damage region in video-src and export-sink
2018-07-09 12:07:30 +02:00
Wim Taymans
c98fbfe0a9 meta: make safer find_meta_data function 2018-07-09 12:04:23 +02:00
Wim Taymans
33427b4cd3 small cleanups 2018-07-08 15:23:56 +02:00
Wim Taymans
3f45ccd6a5 gst: update to current API 2018-07-08 15:23:28 +02:00
Wim Taymans
67e567b9c7 stream: API break
Add pw_buffer
Add queue/dequeue methods, remove old methods
Add get and set for properties
Update gst elements and examples

Update the API to work branch which is more future proof
2018-07-08 14:57:11 +02:00
Wim Taymans
e0676fcef8 array: update size on delete 2018-07-07 11:29:45 +02:00
Wim Taymans
4f054f9551 jack: fix refcount of memory 2018-07-07 10:47:49 +02:00
Wim Taymans
2ac2822d4f link: always activate the link
Always activate the link, don't rely on the node to activate us.
2018-07-07 10:46:49 +02:00
Wim Taymans
fcab6dae9a pcm: update properties 2018-07-04 18:55:54 +02:00
Wim Taymans
3b8b67bc99 jack: update properties 2018-07-04 18:55:28 +02:00
Wim Taymans
27d34dde88 introspect: improve introspection
stream: set roles
2018-07-04 18:43:45 +02:00
Wim Taymans
71d87c589d stream: fix introspection of linked device 2018-07-04 15:33:20 +02:00
Wim Taymans
1cdb7e0214 thread-loop: add some debug 2018-07-04 15:31:44 +02:00
Wim Taymans
ef307d37bc node: add node session property 2018-07-04 15:30:41 +02:00
Wim Taymans
bc2b965591 audio-dsp: use the quantum to fill underrun with silence 2018-07-04 10:34:11 +02:00
Wim Taymans
3cfbdc750a introspect: don't store mute state 2018-07-03 22:09:53 +02:00
Wim Taymans
0f37d84c39 pcm: improve buffer size 2018-07-03 22:05:38 +02:00
Wim Taymans
b98c98cc8d context: rework how we introspect
Use the properties of the global to mark the global type, use this
to filter the objects.
Hook up the volume control
2018-07-03 22:03:25 +02:00
Wim Taymans
055518b40d stream: add parameter support
Rework parameter handling
Hook up volume parameters
Small cleanups
2018-07-03 21:59:34 +02:00
Wim Taymans
653a28a21e jack: quantum is expressed in rate now 2018-07-03 21:58:34 +02:00
Wim Taymans
70b04da723 media-session: express quantum relative to rate 2018-07-03 21:55:08 +02:00
Wim Taymans
9417cdd9e6 client-stream: Also link controls
Improve registration of the node, set the media.class
2018-07-03 21:47:53 +02:00
Wim Taymans
1b4a0e8d5d client-node: also implement io on the node itself 2018-07-03 21:45:07 +02:00
Wim Taymans
79a3b594f9 client-node: set parent id and owner
Make sure we set the right parent id and owner for the client node
and client-stream
Move the remote id in the proxy object and use it in the stream to
get the node id.
2018-07-03 21:43:21 +02:00
Wim Taymans
fe03ec8bde array: add some more helpers 2018-07-03 21:35:47 +02:00
Wim Taymans
8f97e0dd31 audioconvert: add volume control 2018-07-03 21:34:22 +02:00
Wim Taymans
e5c2896fca pod: add padding to float pod 2018-07-03 21:28:48 +02:00
Wim Taymans
6494a5aac0 link: improve state change
Don't assume running state when we already have a format
2018-07-02 13:14:01 +02:00
Wim Taymans
c315c95e55 link: improve negotiation
Separate negotiation and activation steps of the link.
Keep track of the pending amount of links to negotiate before activating
a node.
2018-07-02 12:14:50 +02:00
Wim Taymans
0122e15611 node: improve scheduling 2018-07-02 12:14:23 +02:00
Wim Taymans
6b10b0784f node: improve states
Only change state when different
2018-07-02 12:11:05 +02:00
Wim Taymans
f5cf90ccd1 media-session: improve debug 2018-07-02 12:08:03 +02:00
Wim Taymans
e68624fe7b client-stream: improve scheduling 2018-07-02 12:07:46 +02:00
Wim Taymans
710f0f59cf limit buffers to 16 until we can send more fds in one message 2018-07-02 12:04:38 +02:00
Wim Taymans
a7ec4e4688 stream: add MIN_QUEUED constant 2018-06-27 15:38:41 +02:00
Wim Taymans
6e92dbbe23 media-session: always check if session is busy
Also check if the session is busy if we explicitly provided the
target session id to join.
2018-06-27 11:11:35 +02:00
Wim Taymans
2fe392dd30 alsa: limit silence to threshold and available size 2018-06-27 11:11:00 +02:00
Wim Taymans
11ee416bb0 stream: work on pending buffers 2018-06-26 16:57:49 +02:00
Wim Taymans
d9e3eb49cc audio-dsp: cleanups to format conversion 2018-06-26 16:55:19 +02:00
Wim Taymans
b46a0bc047 client-stream: prefer client buffer params 2018-06-26 16:54:48 +02:00
Wim Taymans
a13b5cfdc3 increase number of buffers 2018-06-26 16:54:18 +02:00
Wim Taymans
e29a35f0ca stream: don't dequeue in peek 2018-06-26 15:04:33 +02:00
Wim Taymans
c3a1807eff stream: improve latency requirements 2018-06-26 15:04:08 +02:00
Wim Taymans
414378283c media-session: allow enabled sessions
Only enable sessions when they can be configured fully
2018-06-26 12:25:50 +02:00
Wim Taymans
2d75d96d67 meson: fix pulseaudio check 2018-06-26 12:22:03 +02:00
Wim Taymans
a738b73567 port: we can accept a new input after mixing it 2018-06-25 17:11:07 +02:00
Wim Taymans
1a786e04f9 resample: improve output buffer size
If we don't have an output size configued, produce output as soon as we
can.
2018-06-25 17:09:45 +02:00
Wim Taymans
9773e2245f fmtconvert: implement merge and convert 2018-06-25 17:09:11 +02:00