summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-08-22core: WIP attempt to rework statesstatesWim Taymans4-39/+97
Try to manage the states in a different way. Does not work yet.
2019-08-22client-node: also don't remove our own activationWim Taymans1-2/+4
.. because we don't add it.
2019-08-22node: improve debugWim Taymans2-12/+8
2019-08-22client-node: refuse params on the wrong side of our mixersWim Taymans1-0/+8
2019-08-22node: tweak CPU load valuesWim Taymans2-8/+13
JACK uses a CPU calculation with an exponential moving average with degree of 1/2.
2019-08-22node: add xrun callbackWim Taymans8-21/+84
Let alsa emit xrun callbacks. Write the xrun stats to the activation area of the node so all clients can read it.
2019-08-22pod: cleanup event and command initWim Taymans4-16/+12
2019-08-22node: calculate cpu timeWim Taymans3-10/+38
2019-08-22sco-sink: fix several timeout issuesJulian Bouzas1-24/+54
2019-08-21jack: updateWim Taymans1-7/+5
2019-08-21remote-node: avoid map and unmap for our own nodeWim Taymans2-12/+9
2019-08-21audioconvert: be more careful when clearing buffersWim Taymans1-5/+11
clean_convert() removes the internally negotiated formats but it does not set the format (or buffers) of the externally visible ports. Therefore, don't clear the buffers_set flags. Instead, clear the buffers_set flag when we explicitly reconfigure the ports, when we also clear the format. Also clear the port buffers when we set a NULL format. Fixes #178
2019-08-21jack: updateWim Taymans1-5/+7
2019-08-21jack: more improvementsWim Taymans5-56/+155
Fill in the position and clock fields with jack values. Advertize PARAMS correctly.
2019-08-21node: warn when we can't set position on a driverWim Taymans1-0/+2
2019-08-21alsa: advertize node params correctlyWim Taymans2-14/+42
2019-08-20jack: add jack source and sinkWim Taymans15-1/+2433
Makes a device with a source and sink that automatically proxies all physical ports from jack. Jack then drives our PipeWire pipeline from its own thread.
2019-08-20protocol: we need to read Fd into int64_tWim Taymans2-6/+10
2019-08-20a2dp-sink: fix infinite loop when buffer could not be encodedJulian Bouzas1-0/+4
2019-08-19vulkan: only send out buffers when readyWim Taymans3-110/+136
Keep track of the buffer that is rendering and when it finishes, move it to the ready queue.
2019-08-19vulkan: update some propertiesWim Taymans1-2/+2
2019-08-19travis: disable vulkan optionWim Taymans1-0/+1
2019-08-19pipewire-cli: add interface filter in the list-objects commandGeorge Kiagiadakis1-3/+9
so that you can now write, for example, "list-objects Node" and see only the nodes, instead of seeing all the objects, which can be hundreds...
2019-08-19protocol-native: downgrade getsockopt SO_PEERSEC error to warningGeorge Kiagiadakis1-1/+1
Getting SO_PEERSEC on distributions that do not use a LSM by default, results always in a "protocol error", which is just annoying and not a real problem for pipewire's operation.
2019-08-19vulkan: add vulkan compute sourceWim Taymans12-0/+1759
Add a source that runs a compute shader and exports the GPU buffer as a DmaBuf to the clients.
2019-08-19video: add support for RGBA with 16 and 32 bit floatWim Taymans5-7/+38
2019-08-19videotestsrc: fix format descriptionWim Taymans1-6/+6
2019-08-16connection: use right sizeWim Taymans1-1/+1
2019-08-16core: remove parent_id from the global eventWim Taymans58-474/+490
Remove the parent_id from the global event. Remove the parent and owner from the global object. Use properties instead to mark parents and owners of objects. Properties are easier to control for client exported objects and usually a simple parent/child is not enough. For example, a client exported node has the client as a parent but also the factory that created the node.
2019-08-16properties: add function to copy list of keysWim Taymans2-0/+26
2019-08-16keys: rename device.id to device.bus-idWim Taymans5-5/+5
2019-08-16pulse: syncWim Taymans1-5/+5
2019-08-16proxy: add refcount to keep the proxy alive in demarshalWim Taymans3-4/+21
We need to keep the proxy alive during demarshal because the callbacks might decide to destroy the proxy.
2019-08-16remote: remove our listener when the core_proxy is destroyedWim Taymans1-6/+28
2019-08-16stream: implement drainWim Taymans1-2/+42
Set the drained flag. If the server calls us and we're out of buffers and the drained flag is set, emit the drained signal. Deactivate the node on disconnect. Make sure we have no more pending process callbacks in the invoke queue before when we pause.
2019-08-16connection: return INVALID for invalid fdsWim Taymans1-7/+11
2019-08-16protocol: use Fd pod for fd indexes for easier debuggingWim Taymans3-14/+12
2019-08-16protocol-native: avoid NULL pointer accessWim Taymans1-4/+4
2019-08-16client-node: dont' send peer_added with our own nodeWim Taymans1-0/+3
.. because it's just ignored in the client anyway.
2019-08-16loop: flush items in invoke from threadWim Taymans1-23/+33
When we do invoke from the loop thread, first process the pending invoke items before handling ours. This can be used to sync the invoke queue before cleanup.
2019-08-16channelmix: try to handle 1 channel as MONO/FCWim Taymans2-5/+10
2019-08-16example: remove some unused fieldsWim Taymans1-8/+1
2019-08-15fix exampleWim Taymans1-33/+41
2019-08-15v4l2: set port ref to implementationWim Taymans1-0/+1
2019-08-15loop: pass loop as first argument in functionWim Taymans1-1/+1
2019-08-15client-node: keep port buffers in special locationWim Taymans2-4/+9
Keep the output port buffers in a special mix info. They should stay there even when the mix is removed and should only be cleared explicitly with a NULL Format or 0 use_buffers.
2019-08-14client-node: only clear buffers when format clearedWim Taymans1-5/+17
.. like we don on the client.
2019-08-14channelmix: apply channel volumes correctlyWim Taymans5-256/+273
2019-08-14proxy: remove unncessary link in remoteWim Taymans3-11/+8
2019-08-14stream: EIO on format and buffers when disconnectingWim Taymans1-1/+10