summaryrefslogtreecommitdiffstats
path: root/meta-multimedia/recipes-multimedia
Commit message (Collapse)AuthorAgeFilesLines
* pipewire: upgrade 0.3.77 -> 0.3.78Markus Volk2023-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a small bugfix release that is API and ABI compatible with previous 0.3.x releases. - An old regression was fixed with where some nodes would not run. - A regression was fixed where removed events would not be shown in some cases. This would result in duplicate entries in audio clients. - Fix an off-by-one in the vban audio receiver. Tweak the rate adaption a little. - ACP will now set a UCM verb before probing the pro-audio devices. - More bugfixes and improvements. - An old regression was fixed with where some nodes would not run. (#3405) - Suspend was improved a little to avoid races when the session manager would suspend right when a driver was starting. - module-rtp-sap does not use the deprecated inet_aton anymore. - Fix an off-by-one in the vban audio receiver. Tweak the rate adaption a little. (#3380) - ACP will now set a UCM verb before probing the pro-audio devices. (#3407) - The mandatory flag will be set now on the video modifiers. - EVL was updated to Xenomai4 r46 and xbuf creation was improved. - An option was added to force colors in the log even when logging to !tty. - The return type of spa_pod_builder_control() was fixed. - inotify errors are handled better now. (#3439) - A regression was fixed where removed events would not be shown in some cases. (#3414) - Improve compatibility with more devices, avoid reusing the same transport for different media-sink instances to avoid encoder resets. - Improve enumeration of codec profiles for BAP and A2DP. - Ensure we can't iterate ports from a deactivated client. Also make sure the JACK clients with the node.always-process=false always show their ports. (#3416) - A potential crash was fixed in the device provider when stopping. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* openh264: fix installed-vs-shared QA issue with multilibMartin Jansa2023-08-131-1/+1
| | | | | | | | | | | | | | | | * in some cases libdir is /usr/lib64 and then libraries installed in /usr/lib aren't packaged: ERROR: QA Issue: openh264: Files/directories were installed but not shipped in any package: /usr/lib/libopenh264.a /usr/lib/libopenh264.so.2.1.1 /usr/lib/libopenh264.so /usr/lib/libopenh264.so.6 /usr/lib/pkgconfig /usr/lib/pkgconfig/openh264.pc Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. openh264: 6 installed and not shipped files. [installed-vs-shipped] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: add support for liblc3Markus Volk2023-08-052-0/+15
| | | | | | | - add liblc3 recipe Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: update 0.3.75 -> 0.3.77Markus Volk2023-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a quick bugfix release that is API and ABI compatible with previous 0.3.x releases. - Fix a bug in ALSA source where the available number of samples was miscaluclated and resulted in xruns in some cases. - A new L permission was added to make it possible to force a link between nodes even when the nodes can't see eachother. - The VBAN module now supports midi send and receive as well. - Many cleanups and small fixes. - Global objects now only show permissions that apply to them. The permissions required to perform various API calls are documented. - A new L permission was added to make it possible to force a link between nodes even when the nodes can't see eachother. - Config files need to end with .conf. - The client.api is added the to global properties of a node. - The VBAN module now supports midi send and receive as well. - Fix module-profiler alignment and make sure we don't overrun our buffers with many nodes. - Protect libcanberra calls with a mutex because it is not thread safe. (#2834) - Support older compilers for spa_clear_ptr(). - Fix a bug in ALSA source where the available number of samples was miscaluclated and resulted in xruns. (#3395) - Don't set inotify on /dev but on the videoX devices directly. Setting inotify on /dev would cause a lot of spurious wakeups and lock contention in the fsnotify subsystem on some benchmarks. - Audioconvert now rate limits the warnings when it runs out of buffers. (#3384) - Some bugs and inconsistencies were fixed in device lookup. - Improve subscribe event emission, detect changes to the sink or the monitor and send the right sink/source event. (#3388) - The libjack.so now has a minor version of 3 and a micro version of the pipewire version. - JACK clients will now see portregistration from other jack clients when they activate/deactivate like real JACK. (#3260) - Use some more autoptr cleanups, fix some leaks. Older versions: This is a quick bugfix release that is API and ABI compatible with previous - LE Audio support is now enabled by default when liblc3 is available now that bluez has support for detecting the hardware features. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* remove unused AUTHOR variableMichael Opdenacker2023-08-031-1/+0
| | | | | | | | | No longer used in generating packages Also creates a possible confusion with the recipe maintainer name. Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcamera: bump to latest masterVivien Didelot2023-08-021-1/+1
| | | | | | | | Bump libcamera to latest master, as commit a2eadc40a introduces flicker controls for rpi which are required in latest libcamera-apps. Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcamera: update 0.0.5 -> 0.1.0Markus Volk2023-07-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libcamera v0.1.0 ABI Compliance: abi-compliance-checker reports 99% binary compatibility and 81.4% source compatibilty between version 0.0.5 and 0.1. - Binary compatibility: 99% - Source compatibility: 81.4% - Total binary compatibility problems: 4, warnings: 2 - Total source compatibility problems: 165, warnings: 7 Now that we have funtional ABI validation, the soname has been updated from libcamera.so.0.0.5 to libcamera.so.0.1. Future releases will now maintain the same soname until an ABI breakage is detected to reduce the repackaging and rebuilding of other components that may use libcamera. The abi-compatibility report can now be generated with the new utility './utils/abi-compat.sh'. Key differences here are due to preventing the installation of internal and private headers in the packaging process, and most of this API compatibility should not be visible to applications with the exception of: - Camera::generateConfiguration ( StreamRoles const& roles ) The StreamRoles type definition has been removed. This is now handled as a Span<StreamRole> to prevent unnecessary allocations and copies. - CameraManager::addCamera ( std::shared_ptr<struct Camera> camera, std::vector<unsigned long>const& devnums ) - CameraManager::get ( dev_t devnum ) - CameraManager::removeCamera ( std::shared_ptr<struct Camera> camera ) These functions of the CameraManager were for use exclusively by the V4L2 adaptation layer, and not intended for use by applications. This has now been reworked to use the new SystemDevices and the redundant functions removed. The ABI/API breakages have been introduced by: 5ca0c9276f28 ("libcamera: CameraManager: Remove ::get(dev_t)") 26a4b83d1b94 ("libcamera: Remove `StreamRoles` alias") 63966ae587d7 ("libcamera: base: Do not install private headers") Core: - libcamera: v4l2_videodevice: Use O_CLOEXEC when exporting DMA buffers - libcamera: ipa_manager: Allow IPA loading in nested subdirs - meson: Fix usage of overwritten pipeline variable - subprojects: Drop leftovers of pybind11 - camera_sensor: ipa: core: Add CFA pattern to IPACameraSensorInfo - libcamera: controls: Define a default lens position behaviour - libcamera: internal: request: convert to pragma once - libcamera: camera_manager: Move private implementation to internal - libcamera: camera_manager: Move {add,remove}Camera to internal - libcamera: properties: Provide a Devices camera property - libcamera: pipeline: Register device numbers with camera - libcamera: camera_sensor: Adjust properties::Rotation - libcamera: meson: Allow PH to change libcamera_deps - libcamera: base: Move thread_annotations to private - libcamera: base: Do not install private headers - utils: ABI Compatibility checker - meson: Use x.y soname versioning - libcamera: camera: Take span of StreamRole instead of vector - libcamera: Remove `StreamRoles` alias - utils: ipu3-capture.sh: Fix the script to work with recent media-ctl versions - Documentation: Add predefined macros from config.h to Doxyfile - utils: checkstyle: Add __repr__ method to CommitFile class - utils: checkstyle: Support running checkers selectively - utils: checkstyle: Don't include commit ID in commit title - utils: checkstyle: Add trailers checker - tests: gstreamer: Test cameras' enumeration from GstDeviceProvider - meson: Fix space around colon issues - libcamera: Add option to configure udev support - libcamera: CameraManager: Remove ::get(dev_t) - tests: gstreamer: Fix compiler error with gcc 8.4.0 ipa: - meson: ipa: Add mapping for pipeline handler to mojom interface file - libcamera: ipa: Remove character restriction on the IPA name - ipa: meson: Allow nested IPA directory structures - ipa: raspberrypi: Introduce IpaBase class - ipa: raspberrypi: agc: Move weights out of AGC - ipa: rkisp1: agc: drop hard-coded analogue gain range - libipa: camera_sensor_helper: Add IMX327 helper - pipeline: rpi: ipa_base: Parse config files after platformRegister() - libcamera: camera_sensor: Add Sony IMX327 sensor properties - ipa: rpi: imx296: Small refinements to the IMX296 mono sensor tuning - ipa: rpi: Handle controls for mono variant sensors - libcamera: controls: Drop reference to IPA in controls documentation - libipa: camera_sensor_helper: Restore alphabetical order - ipa: ipu3: agc: Drop hard-codec analogue gain max - ipa: rkisp1: agc: Restore minimum analogue gain limit - pipeline: ipa: rpi: Return lens controls from ipa->configure() - ipa: rpi: Set lens position to hyperfocal on startup - ipa: rpi: tunings: Add missing short and long exposure profiles - ipa: rpi: agc: Use std::string instead of char arrays - ipa: rpi: agc: Gracefully handle missing agc modes - ipa: rpi: agc: Do not switch to a default if a mode is unavailable - ipa: rpi: imx708: Fix mode switch drop frame count - ipa: rpi: imx296_mono: Disable all colour shading pipeline: - libcamera: pipeline: simple: Add support for ST's DCMIPP - pipeline: meson: Allow nested pipeline handler directory structures - pipeline: ipa: raspberrypi: Refactor and move the Raspberry Pi code - pipeline: raspberrypi: rpi_stream: Set invalid buffer to id == 0 - pipeline: ipa: raspberrypi: Restructure the IPA mojom interface - pipeline: raspberrypi: Make RPi::Stream::name() return const std::string & - pipeline: raspberrypi: Introduce PipelineHandlerBase class - pipeline: raspberrypi: Add stream flags to RPi::Stream - libcamera: rkisp1: Generate config using main path - libcamera: rkisp1: Crop on ISP before downscaling - libcamera: rkisp1: Assign sizes to roles - libcamera: rkisp1: Fix enumeration of RAW formats - pipeline: rpi: Do not return an error from pipeline config file handling - libcamera: pipeline: simple: Support TI CSI-RX - pipeline: rpi: Account for Bayer packing when validating format apps: - apps: qcam: Remove redundant check - v4l2: Move the v4l2 compat layer to libexec/libcamera - android: mm: generic: use GRALLOC_HARDWARE_MODULE_ID - android: mm: Stub libhardware for build tests - py: Fix CameraManager.version property - py: Move ColorSpace and Transform classes to separate files - py: Use exceptions instead of returning error codes - py: unittests.py: Add weakref helpers and use del - py: Move to mainline pybind11 version - py: Fix code formatting - py: unittests.py: Fix type checker warnings - gstreamer: Add enable_auto_focus option to the GStreamer plugin - gstreamer: Drop libcamera_private dependency - apps: Add ipa-verify application - v4l2: v4l2_camera_proxy: Prevent ioctl sign-extensions - v4l2: Use SystemDevices properties to identify cameras Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: update 0.3.73 -> 0.3.75Markus Volk2023-07-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a bugfix release that is API and ABI compatible with previous 0.3.x releases. - Link permissions between nodes are now enforced. This avoids potential portal managed screencast nodes to link to the camera even though it was not assigned permissions to do so by the session manager. - Libcamera and v4l2 devices now have properties so that duplicates can be filtered out by the session manager. - A bug with draining was fixed where a buffer would be marked EMPTY and would not play when it contained drained samples. (#3365) - Many fixes and improvements. - Permissions for links between nodes are now enforced. The link will now check that the owner clients of the nodes can see eachother before allowing the link. This avoids screensharing clients to accidentally being linked to the camera nodes by the session manager. A side effect is that patchbay tools will no longer be able to link portal managed screencast nodes to the camera, for this we need a new permission for those patchbay clients. (wireplumber#218) - The stream.rules/filter.rules are now evaluated when connecting the stream/filter so that more properties can be matched. (#3355) - Move some internal events from the context to the nodes to better handle per-node threads in the future. - The thread-loop will now signal when the thread is started. - A timestamp workaround in module-raop was reverted because it does not work in all cases. Instead latency was increased to 1.5 seconds, which also makes the problematic device in question work. (#3247) - The profiler module was reworked a bit to use the new node realtime events. It should now also handle dynamically added and removed drivers. - The module-rt now does the rtkit calls from a separate thread so that it does not block the main thread. This could cause deadlocks during startup in some cases. (#3357) - Atomic operation macros were move from internal pipewire API to public API. - The video-info structure now has a new SPA_VIDEO_FLAG_MODIFIER_FIXATION_REQUIRED flag to instruct the application to fixate the modifiers. This simplifies some logic in applications a lot. - The libcamera and v4l2 nodes now have properties to enumerate the device id they are using. This can be used to match v4l2 devices and libcamera devices and filter out duplicates. - A bug with draining was fixed where a buffer would be marked EMPTY and would not play when it contained drained samples. (#3365) This is a quick bugfix release that is API and ABI compatible with previous - Merge scope based cleanup macros. - Add ratelimit function. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* openh264: version bump 2.1.1 -> 2.3.1Jan Vermaete2023-07-201-2/+3
| | | | | Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: upgrade 0.3.72 -> 0.3.73Markus Volk2023-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a bugfix release that is API and ABI compatible with previous 0.3.x releases. - Fixes an ALSA resume after suspend error. - Handle and disable seemingly wrong hires timestamps from ALSA. - Filter-chain now has loadable plugin modules. The LV2 and sofa plugins are moved to a separate .so file to make things more modular. - Rate changes in the graph should now be handled more gracefully by loopback and filter-chain. - A regression in the rtp-sap module was fixed where it would in some cases fail to start. - A potential crash in the peaks resampler was fixed. - Many cleanups and other small bug fixes. - Fix a potential segfault when no fallback driver was set in the config. - Improve OPUS detection. - Add ASYNC flag to pw-filter and pw-stream when queue/dequeue is not called from the process function. This ensure we allocate an extra buffer. - Discard pending process callbacks when disconnecting. (#3314) - Cleanups and improvements to the debug environment variable parsing. - The graph rate was tweaked to better handle very low rates such as those requested by pavucontrol when it does the signal monitoring. - An example filter module was added. - Filter-chain and loopback now disable the resamplers if no rate is specified and will always follow the graph rate. - Improve setup of filter-chain. The graph is now created when starting because this ensure the target graph rate is known. - Filter-chain can now link notify ports to control ports in the graph. - Filter-chain now has loadable plugin modules. The LV2 and sofa plugins are moved to a separate .so file. - A regression in the rtp-sap module was fixed where it would in some cases fail to start. - Module-rt now has options to disable rlimits, portal and rtkit. - module-raop-discover now has an options to set the latency. (#3247) - pw-cat now supports overriding all stream properties. - Disable rate negotiation when the resampler is disabled. We will always follow the graph rate. - Set device.icon property for UCM ports as well. - Improve ALSA recover when using hires timestamps. This fixes some problems after resume from suspend. (#3315) - ALSA will now warn and disable hires timestamp when they seem wrong. They can also be disabled manually with a property. - V4l2 will now gracefully handle ENOTTY when enumerating frame sizes and frame rates. (#3325) - A potential crash in the peaks resampler was fixed. (#3320) - A client crash in pavucontrol is avoided by always setting a card name. - The graph rate is now taken correctly when using the FIX flags. (#3317) - An option was added to ignore the FIX flags of a stream. Also the documentation for those options was updated. (#3317) - module-raop-discover now support latency_msec. (#3247) - Remove an assert and issue a warning/recover instead when a buffer is too small. - The device provider does locking when destroying the registry. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: upgrade 0.3.71 -> 0.3.72Markus Volk2023-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a bugfix release that is API and ABI compatible with previous 0.3.x releases. - Fix a critical bug that would refuse to update the samplerate or buffersize in JACK clients. (#3226) - A new module-netjack2-driver and module-netjack2-manager were added that are compatible with NETJACK2. This allows PipeWire to become a NETJACK2 manager or a driver between JACK2 or PipeWire servers. - Support was added for firewire devices with FFADO. This is untested for now and MIDI is not implemented yet. - The node scheduling was optimized some more. External drivers are now as efficient as in-server ones. This should improve performance of various drivers such as bluetooth and JACK based drivers. - Many, many bug fixes and a ton of improvements. - pw-filter can now be used to write sinks and sources. - The node activation for drivers was changed. The driver now does not need to go to the server to start the processing cycle. This makes out-of-server drivers as efficient as in-server drivers. - Don't try to use drivers with 0 priority as fallback drivers. This avoids making the screencast driver a driver for audio. (#3219) - Improve xrun count reporting in pw-top and the profiler. Now each node has their own xrun counter updated when it fails to complete processing during the cycle. - pw-filter now also has support for TRIGGER. - A potential fd leak was found when fds were send to a zombie client. (#1840) - Fix a bug where monitor or capture streams were logged twice in the profiler. (#3278) - Remove stream hooks safely. (#3251) - A bug in serialization of container properties was fixed. This could result in truncated property values. (#3290) - The PIPEWIRE_AUTOCONNECT environment variable now always overrides the autoconnect settings of streams. (#3299) - Node, port and link destroy now avoids some useless work. - Port will now try to renegotiate a new format when idle. (#3266) - The module-sap now is more compatible with AES67. - A new FFADO driver module was added. This is completely untested because of lack of hardware. Please test and report issues. - A new NETJACK2 driver and a NETJACK2 manager module were added. These should be drop in replacements for the JACK2 parts. - The RAOP discover module now tries harder to only list devices once. - The zeroconf discover module now tries harder to only list devices once. - The RAOP sink module now handles latency better and is compatible with some more devices. (#3247, #3282) - The loopback and filter-chain modules now always dequeue the last input buffer to avoid stuttering in some cases. (#3276) - The SPA node factory module can now also export nodes. This is used to export the PTP clock from the AES67 config file. - A bug in module-jack-tunnel was fixed that would cause stuttering and corrupted output in some cases. (#3255) - The resampler is now disabled in module-loopback and filter-chain when the samplerate is set to follow the graph rate. (#2969) - The way the mixer peer is sent to clients was improved. It is now also possible to let a remote node know about mixer port removes, which can avoid memory leaks and some code simplifications. - Monitor ports now report latency correctly. - The ALSA plugin now uses htimestamp to get a more accurate ringbuffer position to estimate the clock skew. - The channelmixer now has min/max-volume settings to limit or fix the volume. - The ALSA plugin can now control the playback and capture rate of USB gadgets. This can avoid resampling and instead use the USB feedback to control the rate. - The ALSA output to multiple devices has been improved, some lockups are avoided when the device ringbuffer is full. - The compress-offload sink has improved negotiation. - Only try to use GSettings when the schema exists. - @DEFAULT_SOURCE@, @DEFAULT_SINK@ and @DEFAULT_MONITOR@ are now correctly handled as targets in playback and capture streams. (#3284) - 2 new quirks are added to disable volume updates on sinks/sources. (#1517) - The virtual-sink and virtual-source modules were added. These are really example modules but actually also work and are useful on PulseAudio so implement them as well. - Fix initial stream volumes. (#3306) - Only register A2DP or BAP when we have codecs. - Include codec into the media.name - Fix a critical bug that would refuse to update the samplerate or buffersize. (#3226) - Improve updates of samplerate/buffersize, delay the updates until the client is activated. (#3297) - Use the new mix-info updates to simplify the mixer setup and peer detection. - Fill default strides instead of 0 on pipewire video buffers. (#3236) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Add dedicated aes67 package and fix rlimits.d package assignmentCarlos Rafael Giani2023-06-241-2/+7
| | | | | Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Improve packageconfigsCarlos Rafael Giani2023-06-241-1/+8
| | | | | Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Disable libmysofa since it is not available in OECarlos Rafael Giani2023-06-241-1/+2
| | | | | Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* schroedinger: Fix building testsKhem Raj2023-06-122-0/+44
| | | | | | | lld finds out this error where _orc_code_orc_deinterleave2_s16 is needed but is not linked into a testcase wavelet_max_gain Signed-off-by: Khem Raj <raj.khem@gmail.com>
* x265: Pass --debug-prefix-map to nasmKhem Raj2023-05-261-0/+4
| | | | | | | | | Ensures absolute source paths are not emitted into nasm assembled objects Fixes WARNING: x265-3.2.1-r0 do_package_qa: QA Issue: File /usr/lib/.debug/libx265.so.179 in package x265-dbg contains reference to TMPDIR [buildpaths] Signed-off-by: Khem Raj <raj.khem@gmail.com>
* vlc: Remove WORKDIR from CONFIGURE_LINE definitionKhem Raj2023-05-251-0/+1
| | | | | | | | | | This is emitted by configure into generated config.h which is used in src/misc/messages.c and flows into binaries Fixes WARNING: vlc-3.0.18-r0 do_package_qa: QA Issue: File /usr/lib/libvlccore.so.9.0.1 in package libvlc contains reference to TMPDIR [buildpaths] Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libsquish: remove unused 0001-makefile-Add-LIBDIR.patchMartin Jansa2023-05-241-36/+0
| | | | | | | | | | | * it was added to meta-multimedia, but not to SRC_URI in: https://git.openembedded.org/meta-openembedded/commit/?id=1c23fd7f8b58636983fd0b233c2043e34d3bc3b3 * and later diferent patch was added to the layer as well as SRC_URI in: https://git.openembedded.org/meta-openembedded/commit/?id=8df60dc8d69ffa506fd923f8db91a2a8aa33343f Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcamera: Simplify pipeline configurationAlexander Stein2023-05-241-3/+1
| | | | | | | | | Default to 'auto' which enables all target architecture pipelines (+UVC). IPAs are also automatically enabled if the corresponding required pipeline is enabled as well. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* fluidsynth: update 2.2.6 -> 2.3.2Markus Volk2023-05-234-79/+25
| | | | | | | | | | -remove unneeded patch -remove fluidsynth-native as it seems to be unneeded -remove STAGING_LIBDIR from target files -add more packageconfig options Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* aom: Pass nasm flags via toochain.cmakeKhem Raj2023-05-231-3/+6
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* aom: Upgrade to 3.6.1Khem Raj2023-05-232-19/+79
| | | | | | | | | | | | | | | Switch to using nasm instead of yasm on x86 builds for asm optimizations. This is to enable reproducible builds even though yasm is preferred but it encodes FILE directive in ELF to absolute path of asm files and results in buildpath warnings, there is no way to remove it without editing the final binaries. nasm provides --reproducible option to handle it nicely License-Update: Fixes a typo [1] [1] https://aomedia.googlesource.com/aom/+/f97c63026174df67bc08c75fa72bf0ad01ca1a98 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* dav1d: update 1.1.0 -> 1.2.0Markus Volk2023-05-231-1/+1
| | | | | | | | | | | | | | | | | Changes for 1.2.0 'Arctic Peregrine Falcon': ------------------------------------------- 1.2.0 is a small release of dav1d, adding more SIMD and fixes - Improvements on attachments of props and T.35 entries on output pictures - NEON z1/z3 high bit-depth optimizations and improvements for 8bpc - SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations - refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512 - AVX-512 optimizations for high bit-depth itx (16x64, 32x64, 64x16, 64x32, 64x64) - AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: update 0.3.70 -> 0.3.71Markus Volk2023-05-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a bugfix release that is API and ABI compatible with previous 0.3.x releases. - A new zero-latency jackdbus bridge was added. This works similar to what PulseAudio has to offer and creates a sink/source when jackdbus is started. It is however much more efficient and runs the complete PipeWire graph as a synchronous JACK client with no added latency. - Many performance improvements. Activation of remote nodes is more efficient, fewer eventfds are required on the clients, less callback overhead in performence critical paths and an optimized poll function was added. This was mainly driven by the jackdbus module to get the lowest possible overhead when running the graph. - The JACK notify callback implementation was reworked to emulate better what JACK does, improving compatibility with ardour7 and the JACK stress test. - More work on BAP devices. Device latency is now passed on to applications also for multi-device headsets, and channel allocation is handled better. - Many more improvements and bugfixes. - Remove the hardcoded limit on io_areas. This is used to link nodes together and exchange buffers, it was limited to 2048 but now dynamically scales based on requirements. - Rate and quantum changes are now applied correctly in more cases. (#3159) - Updates to client-node to more efficiently process the driver. - The profiler information was improved to be more accurate. It should now work better for remote drivers. - Some potential memory map errors were fixed in the protocol because in some case with large messages, some fds were closed too soon. - pw-filter now implements the pw_filter_set_active() method. - A potential out-of-buffers case was fixed in capture pw-streams where buffers were not moved to the recycle queue when the node suspended. - Nodes are now always woken up with the eventfd. Previously there were some optimiztions in the server to directly call into the node process function but that optimization is not necessary. Without this optimization it is now possible to run nodes in different threads. - pw-stream trigger is now implemented correctly in all cases. - Remote nodes now use one eventfd less because they get triggered with the node eventfd directly. - Monitor ports are now ignored in latency updates. - A potential race when reporting an error to a client was fixed. (#3192) - Fix a bug where always_process nodes would sometimes IDLE. (#3189) - Optimize peer activation. Nodes are now activated more efficiently and independent of the number of links. It also reduces the number of eventfds and memory in remote clients. - A bug in property serialization was fixed. Values with spaces would only serialize the first part of the value. - Correctly handle the echo-canceler plugin init method fallback. The samplerate was not correctly configured. This is only a regression for people that have external echo-canceler plugins. - RAOP sink now only sets the volume on the remote end when the stream is recording. (#3175) - RAOP discover now tries to deduplicate entries from the same host. - A new zero-latency jackdbus bridge was added. This works similar to what pulseaudio has to offer and creates a sink/source when jackdbus is started. It is however much more efficient and runs the complete PipeWire graph as a synchronous JACK client. - The access module uses a more secure way to check the application executable. - module-combine-stream now has configurable delay and latency for each stream. This can be used to align sinks/sources with different latencies. - A potential crash in module-pulse-tunnel was fixed when shutting down. (#3199) - Module-rt will now clamp the nice value to the min allowed value to avoid errors from rtkit. (#3186) - Fix a bug with the session counters in module-rtp-sap. Also use the right format for L24. Improve the AES67 example config. - Improve some warning and info messages in module-rt. (#3194) - module-rtp-session should now do something when started without arguments. - A potential crash in module-rtp-session was fixed. (#3217) - module-filter-chain has better error reporting when a convolver fails to load. (#3223) - Move some things around to avoid compiler warnings. (#3171) - Increase mixer ports. Reorganize some things and bump mixer input ports from 128 to 512. - Fix a potential crash when a node is scheduled before it completes the setup. - The JACK sink and source SPA plugins have seen some improvements. - Allow the peaks resampler still if we disabled resampling. - Perform more cleanup in audioadapter when in error. - An optimized non-cancellable loop implementation was added. - Callbacks were optimized with a _fast() varsion that doesn't check the version and method. When this check is performed earlier, it can be skipped in performance critical places. - Some of the callbacks and system methods are now using the fast function calls in critical paths. - A potential division by zero was fixed in the ALSA plugins. - Improve rate and quantum when starting audioconvert. - Make it possible to override node.driver in the SPA null-audio-driver. (#3220) - The audio info parameter parsing was refactored and improved. - Fix some races with clients exiting when playing samples. - An option was added to change or disable the dbus name registration. (#2987) - Implement battery reporting using AT+XEVENT. - Disable hardware volume for 3M WorkTunes. - Implement BAP audio locations (channel positions) by using the new bluez properties. - Fix some errors reported by JACK test.cpp. (#2638) - Add jack.show-midi option to show/hide midi ports. - Add jack.max-client-ports option. JACK also has a port limit and so PipeWire needs it as well to make the tests happy. - Call the shutdown callback only when the server stopped, not when there is a random error. (#3070) - Avoid registering the same port name twice. - Call port registration callbacks in activate/deactivate. - Improve jack_port_connected(). - Improve some error reporting. - The JACK headers were updated to a newer version. - JACK callbacks are now managed with an event queue to simulate more what JACK does. This avoids emiting callbacks when a method is blocking for a reply and causing deadlocks. (#3183) - Assign unique names to JACK clients. (#2833) - Fix a potential crash when the thread_utils was used after free. - Aliases are now not filled in by default to improve JACK compatibility. (#3154) - The ALSA plugin will now wait for negotiation to complete or an error before _prepare() completes. This makes more applications deal correctly with the potential errors. - A new document about how scheduling is implemented was added. - Update the pw-cli man page. (#2988) - Document the SPA Pod serialization. - Document the PipeWire native protocol. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* mpd: Fix build with clang-16Khem Raj2023-05-172-0/+29
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* mpd: fix build error when fmt updatedWang Mingyu2023-05-173-2/+102
| | | | | | | | | backport upstream patch for build error when fmt updated: ix-build-error-when-fmt-updated.patch minor-fixup-for-libfmt10.patch Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcamera: Allow overwriting default pipelines and IPAAlexander Stein2023-05-171-2/+5
| | | | | | | | | By default only uvcvideo, simple and vimc pipelines as well as vimc IPA are built. Add new variables for enabling a custom set of enabled pipelines and IPAs. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gerbera: Fix build with fmt 10+Khem Raj2023-05-172-1/+170
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcamera: update 0.0.4 -> 0.0.5Markus Volk2023-05-152-46/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libcamera v0.0.5 Bugfixes: - meson: Ignore -Wredundant-move with gcc-13 and newer - cam: file_sink: Workaround gcc-13 dangling-reference false positive - libcamera: Open files with O_CLOEXEC - meson: Fix git version parsing - libcamera: camera_manager: Stop exponential explosive calls to createPipelineHandlers - py: cam: Fix demosaic overflow issue - libcamera: base: Make the registration of log categories atomic Core: - test: controls: control_info_map: Test default constructor - controls: guard ControlInfoMap against nullptr idmap_ - device_enumerator_udev: Use std::string_view - formats: Add 14-bits Bayer RAW formats - device_enumerator_udev: Remove devnum from dependency map - meson: libcamera: Report IPA signature method - meson: Align handling of build metadata - converter: Check converter validity - Keep using syslog for isolated IPA modules - utils: ipc: Update parser.py - utils: checkstyle.py: Don't run commit title checker on staged commits - framebuffer: Allow inheritance of FrameBuffer - Remove transform from V4L2SubdeviceFormat - libcamera: camera_sensor: Add tryFormat() - camera_sensor: Fix typo in comment - camera_sensor: Demote flip support message to Debug - internal: tracepoints: Use correct include directive - libcamera: camera: Ensure queued requests are invalid ipa: - doc: Clarify IPA acronym in its namespace description - rkisp1: Add tuning files for PinephonePro sensors - rkisp1: Add tuning files for Google DRU "Scarlet" sensors - rkisp1: lsc: Fix integer division error - libipa: Add OV2685 Camera Sensor Helper - libipa: Add OV5647 Camera Sensor Helper - raspberrypi: agc: Add "shadows" constraint mode - raspberrypi: generalise algorithms - raspberrypi: Fix default frame durations calculation - raspberrypi: Ensure shutter speed and gain are clipped in the AGC - raspberrypi: Use the new sensor limits fields in CameraMode - raspberrypi: Add sensor mode limits to CameraMode - raspberrypi: Fix crash under LTO - raspberrypi: imx296: Minor tuning updates - raspberrypi: agc: Fix overflow in Y value calculation - raspberrypi: Better heuristics for calculating Unicam timeout - raspberrypi: Generalise statistics - raspberrypi: Change Unicam timeout handling pipeline: - simple: Validate transform - imx8-isi: Remove mbusCode from formatsMap_ - imx8-isi: Automatically select media bus code - imx8-isi: Split Bayer/YUV config generation - imx8-isi: Break out RAW/YUV format selection - raspberrypi: Iterate over all Unicam instances in match() - raspberrypi: Add a Unicam timeout override config options - raspberrypi: Always use ColorSpace::Raw for raw streams - raspberrypi: Drop unused code - ipu3: Drop unused code apps: - cam: kms_sink: Drop unique_ptr<> from DRM::AtomicRequest - cam Return std::optional<> from StreamKeyValueParser::parseRole() - android: jpeg: Add JEA implementation ABI Compliance: * abi-compliance-checker reports 98.6% ABI and 100% API compatibility with with v0.0.4 Total binary compatibility problems: 1, warnings: 1 Total source compatibility problems: 0, warnings: 0 - First virtual method ~__dt ( ) has been added to this class. 1) The layout of type structure has been shifted by 8 bytes by the added v-table pointer. 2) Size of class has been increased by 8 bytes. affected symbols: 6 (1.4%) FrameBuffer::releaseFence ( ) FrameBuffer::setCookie ( uint64_t cookie ) FrameBuffer::cookie ( ) FrameBuffer::planes ( ) FrameBuffer::request ( ) FrameBuffer::metadata ( ) This ABI breakage was introduced by: 4843bfa ("libcamera: framebuffer: Allow inheritance of FrameBuffer") Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nv-codec-headers: fix installed-vs-shipped with multilibMartin Jansa2023-05-041-1/+1
| | | | | | | | | | | | | | | | | * pass LIBDIR to install ffnvcodec.pc in right directory * fixes: ERROR: QA Issue: nv-codec-headers: Files/directories were installed but not shipped in any package: /usr/lib /usr/lib/pkgconfig /usr/lib/pkgconfig/ffnvcodec.pc Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. nv-codec-headers: 3 installed and not shipped files. [installed-vs-shipped] when libdir is /usr/lib64 with multilib Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: update 0.3.68 -> 0.3.70Markus Volk2023-04-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a quick bugfix release that is API and ABI compatible with previous 0.3.x releases. - Fix a regression in the scheduler that could keep some nodes IDLE. - Fix a regression in the biquad filters in filter-chain. - Fix a regression and potential crash in the ALSA mixer probing. - Fix a regression in pipewiresrc with timestamps that could cause cheese to record video with wrong timestamps. - Beamforming support was enabled in the echo-canceler. - pulse-tunnel and raop-sink will now proxy local volume changes to the remote end. - More bugfixes and improvements. - Fix a bug in the graph scheduler where some nodes might stay IDLE in some cases (like when connecting the source of the echo-canceler to the sink). - pw-metadata can now be created from the factory with initial values for the metadata. (#3076) - Conditions were added to the pipewire config file to make it possible to configure the access module and the exec sections. - Support was added in pw-stream to intercept and override properties for the adapter. This can be used to implement custom volume control, for example. - pw-metadata can now list all available metadata objects with the -l option. - A new pw-config tool was added to debug configuration file loading and parsing. - The webrtc echo canceler now supports beamforming. You can provide the coordinates of the microphones and let webrtc perform beamforming on the captured samples to improve quality and remove noise. - Fix a regression in the filter-chain with biquad filters. (#3161) and improve error reporting. - The pulse-tunnel will now proxy the volume changes to the remote end. - The RAOP sink will now send volume parameters to control the volume remotely. (#2061) - One ALSA commit was not correctly reverted and might cause crashes. - The ALSA sink and source now calculate the ALSA ringbuffer memory location more correctly wich might improve compatibility with some hardware. - v4l2 now sets the values of the controls in the Props param. - The echo-canceler aec_args are now parsed like they would be under pulseaudio. - More work on synchronizing BAP devices. - The GStreamer source can now renegotiate the format when it changes. - The GStreamer source now uses the BaseSrc clocking code to implement the clock and timing code. This is a quick bugfix release that is API and ABI compatible with previous 0.3.x releases. - Reverted the UCM changes, they seem to cause regressions causing audio to be muted in some cases. - Fix a regression in the scheduler where a driver node might not be marked runnable in some cases, like when echo-cancel is used. (#3145) - Handle links from the driver to itself. This makes the midi bridge work again. (#3153) - ALSA rate matching for sources was fixed. It would previously wait too long for rate matching and then cause drift. This should reduce crackling and stuttering whan capturing in low latency. - Fix the GStreamer clock to make cheese video recording work again. (#3149) - More fixes and improvements. - Fix a regression in the scheduler where a driver node might not be marked runnable in some cases, like when echo-cancel is used. (#3145) - Handle links from the driver to itself. This makes the midi bridge work again. (#3153) - Some man pages were improved. - Fix a potential crash when thread-loop is destroyed before the loop. (#3150) - A new raw biquad filter was added to filter-chain. You can manually set the 6 parameters and you can use this to create custom filters per sample rate. (#3139) - The echo-canceler now supports different channels for the capture and playback streams. - A SB Audigy specific profile set was added to make better use of the controls. (#2934) - More ALSA IRQ based scheduling improvements. - ALSA rate matching for sources was fixed. It would previously wait too long for rate matching and then cause drift. This should reduce crackling and stuttering whan capturing in low latency. - The echo-cancel plugin API has a new method to make it possible to have different channels for capture, source and playback. - Reverted the UCM changes, they seem to cause regressions causing audio to be muted in some cases. - Many more BAP fixes and improvements. Devices are now created as a set and can be combined into one device by the session manager. - Fix the GStreamer clock to make cheese video recording work again. (#3149) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: remove 'inherit gsettings'Markus Volk2023-04-191-2/+1
| | | | | | | - remove duplicated PACKAGECONFIG Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* dleyna-{server,renderer}: fix dev-so QA issue with multilibMartin Jansa2023-04-102-2/+2
| | | | | | | | | | * the libdir is arch specific, but the subdirectory is always BPN * fixes: lib32-dleyna-server-0.6.0+gitAUTOINC+eb895ae827: non -dev/-dbg/nativesdk- package lib32-dleyna-server contains symlink .so '/usr/lib/dleyna-server/libdleyna-server-1.0.so' [dev-so] lib32-dleyna-renderer-0.6.0: non -dev/-dbg/nativesdk- package lib32-dleyna-renderer contains symlink .so '/usr/lib/dleyna-renderer/libdleyna-renderer-1.0.so' [dev-so] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: update 0.3.67 -> 0.3.68Markus Volk2023-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a bugfix release that is API and ABI compatible with previous 0.3.x releases. This release contains a huge number of changes, some of which might cause regressions. Please report anything that seems to fail after the upgrade. UCM devices in particular might have changed names, profiles and ports that might require changes in custom scripts. - Symbolic links to the pipewire binary are now used instead of recompiling the same binary multiple times. - Changes to the graph scheduler related to quantum/rate updates and calculation of the node states. Things should start and switch between quantums and rates more smoothly now and especially virtual devices should now only run when required. - A new RTP session module was added. This uses the Apple MIDI protocol to configure low-latency bidirectional MIDI (and with a PipeWire specific extension, also audio) between machines. OPUS encoding was added to the RTP formats. The SAP module was separated from the rtp-sink/source module to make it more usable. - A new runtime debug property was added to all streams and nodes to trigger a save of the raw samples to a wav file. Support for this has also been added to the echo-canceler to debug potential issues. - Module pulse-tunnel has improved rate matching and synchronization support. It should also not drift anymore for capture devices. - The link-factory now ignores by default the link.passive property. This means that tools like pw-link or jack clients and wireplumber can't make passive links anymore. The reason is that there is now much more advanced logic in PipeWire itself to handle passive links based on node and port properties. - The RAOP sink was ported to new OpenSSL functions. Digest passwords are handled correctly now and support for more devices was added. - The ACP code was updated with new PulseAudio UCM code: "Create multiple profiles per verb for conflicting devices". This might change the names of devices, profiles and ports so scripts might need to be updated. - Upmixing is disabled again by default. We now ship config files that distros can install to enable upmixing again. The reason being that PipeWire should not apply fancy DSP processing to audio by default. - Many cleanups and bugfixes, including some crashes and memory corruption bugs. - Various FreeBSD compilation fixes. - Don't crash when calling _connect twice in stream/filter. (#3091) - Links are now installed instead of compiling the pipewire binary multiple times. - There is now a new core event bound_props that augments the bound_id event with the global properties. This can be used to get the global.serial among other global properties. It also makes it possible in the future to let the server allocate unique names or uuids. - Fix a bug where the server could go into an infinite reconfigure loop when the samplerate of a driver would change. - When a samplerate was forced, restore the previous best samplerate when the samplerate is no longer forced. (#2133) - Rework how the states of the nodes in the graph are calculated. A more refined algorithm is now used that only runs nodes that need to run. - Rework how the quantum change is applied to the graph. Drivers are now responsible for using the new updated rate/quantum before starting a new cycle. This avoids starting a cycle with an old quantum first. - pw-stream and pw-filter will now ensure that the Trigger event is called from the main thread. - node.force-rate=0 will now force the node.rate on the graph, forcefully switching the hardware into the new rate if possible. (#3026) - Additional checks were added to the thread-loop to check locking order. - Additional checks were added to pw-stream and pw-filter to check if methods are called from the right thread context. - A new RTP session module was added. This uses the Apple MIDI protocol to configure bidirectional MIDI (or audio) between machines. - SAP support was removed from module-rtp-source and module-rtp-sink and moved to a separate module. This makes it possible to use the RTP modules without SAP support as well. - The echo-cancel module now has support to save the signals to a wav file for debugging purposes. - The RTP modules now have support for the OPUS codec. - The RAOP module was ported to new openssl encryption functions and handles digest passwords correctly now. - module-raop-discover now has match rules to be able to select the streams and set properties. - Module pulse-tunnel has improved rate matching and synchronization support. (#3093) - Fix potential memory corruption and infinite loops because module-pulse-tunnel was unloaded from the wrong thread. - The link-factory now ignores by default the link.passive property. This means that tools like pw-link or jack clients and wireplumber can't make passive links anymore. The reason is that there is now much more advanced logic in PipeWire itself to handle passive links based on node and port properties. - module-echo-cancel will now clear its buffers after a suspend to avoid playing stray samples. - module-raop-sink will now handle 0 timing_port replies. (#3133) - The adapter module now has support for saving the raw audio to a wav file for debugging purposes. - The ACP code was updated with new PulseAudio UCM code: "Create multiple profiles per verb for conflicting devices". This might change the names of devices, profiles and ports so scripts might need to be updated. - Upmixing was disabled again by default. We now ship config files that distros can install to enable upmixing again. (#3081) - audioadapter and audioconvert have seen improvements in the experimental non-DSP/passthrough mode. - Fix a potential race where the dummy drivers could fail to stop a timer and cause endless warnings in the logs. - The ALSA plugin has experimental support for IRQ based scheduling. This should decrease latency for some (mostly USB) drivers. This should bring latency within JACK latency. More work on this will be done before the 1.0 release later this year. - Audioconvert now has support for volume ramping. (#3046) - A new loop method was added the check if a thread is currently running the loop. - channelmix.disable and resample.disable now generate an error when true and channelmixing or resampling is required in the converter. - Fix a crash in some cases when a device was disconnected. - Support async transport state changes. This avoids some lockups when the bluetooth backend is having issues. (#3023) - Align BAP sinks. This improves synchronization between earpieces. - Improve properties in pw-top and pavucontrol. - Improve error handling from pulse-tunnel. - Generate silence correctly for unsigned formats as well. - Review buffer params. The streams should now just work with 1 or 2 buffers. - module-rtp-send and module-rtp-recv now have support for the OPUS codec. - Make sure we don't call any callbacks anymore when deactivating. (#2781) - Sort the device by priority in deviceprovider. (#3072) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* meta-multimedia: Fix missing upstream status in several patchesKhem Raj2023-04-0519-3/+43
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* sox: remove ffmpeg dependencyEnrico Scholz2023-04-051-1/+1
| | | | | | | | | | | | | ffmpeg format handler was removed from sox in 2013 ([1]). Drop it also from DEPENDS. This makes sox generally available without the need to whitelist the commercial ffmpeg license. [1] https://sourceforge.net/p/sox/code/ci/5ae4049727d4f29036ad541bde5863c850aa7755 Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcamera: re-introduce fix for gcc-13Markus Volk2023-04-012-1/+48
| | | | | Signed-off-by: Markus Volk <f_L_K@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nv-codec-headers: add clean target to MakefileMarkus Volk2023-04-012-1/+29
| | | | | | | | | | | next try to fix an error on rebuilds: | NOTE: make clean | ERROR: oe_runmake failed | WARNING: exit code 1 from a shell command. | make: *** No rule to make target 'clean'. Stop. Signed-off-by: Markus Volk <f_L_K@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcamera: update 0.0.1 -> 0.0.4Markus Volk2023-03-252-51/+2
| | | | | Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* packagegroup-meta-multimedia: Remove library only packages from rdepsKhem Raj2023-03-221-32/+2
| | | | | | | | | | Because they get renamed, it is better to ignore them and let a dependency build them Fixes errors like ERROR: packagegroup-meta-multimedia-1.0-r0 do_package_write_ipk: An allarch packagegroup shouldn't depend on packages which are dynamically renamed (gssdp to libgssdp-1.2-0) Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update 0.4.13 -> 0.4.14Markus Volk2023-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WirePlumber 0.4.14 ~~~~~~~~~~~~~~~~~~ Additions: - Added support for managing Bluetooth-MIDI, complimenting the parts that were merged in PipeWire recently (!453) - Added a default volume configuration option for streams whose volume has never been saved before; that allows starting new streams at a lower volume than 100% by default, if desired (!480) - Added support for managing link errors and propagating them to the client(s) involved. This allows better error handling on the application side in case a format cannot be negotiated - useful in video streams (see !484, pipewire#2935) - snd_aloop devices are now described as being "Loopback" devices (pipewire#2214) - ALSA nodes in the pro audio profile now get increased graph priority, so that they are more likely to become the driver in the graph - Added support for disabling libcamera nodes & devices with ``node.disabled`` and ``device.disabled``, like it works for ALSA and V4L2 (#418) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nv-codec-headers: update 11.1.5.2 -> 12.0.16.0Markus Volk2023-03-131-7/+4
| | | | | | | | | | - use oe_runmake to avoid an error on rebuilds: | NOTE: make clean | ERROR: oe_runmake failed | WARNING: exit code 1 from a shell command. | make: *** No rule to make target 'clean'. Stop. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: update 0.3.66 -> 0.3.67Markus Volk2023-03-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a bugfix release that is API and ABI compatible with previous 0.3.x releases. - The loopback module and other couples streams will now not randomly fail in some cases. (#3028) - The RTP module now has support for sending and receiving MIDI as well. - The compress offload sink has seen many improvements. It now uses ioctls directly to bypass limitations of tinycompress (to be able to detect the available codecs, for example). - Pulse server compatibility was improved for some apps by improving the format parsing and FIX_ stream flag handling. - The min quantum in the pulse server was changed from 256/48000 to 128/48000 to fix some issues with games that expect 5ms or less of latency. - The Bluetooth plugin has seen many improvements in packet scheduling to attempt to reduce stuttering on some devices. - The ALSA plugin now handles some impossible cases better. This fixes recording in QEMU again. (#2971) - SPDX tags were added to the code for copyright information. - The random number functions were made more usable. - The port property code was moved from the adapter to the port implementation itself to make it more useful and unified for the cases where no adapter is used (midi and video). - Fix a potential overflow in mixer areas. - Improve runnable state calculations of nodes. This is part of ongoing work to avoid running nodes that should not need to run. - The stream will now always call the process function when using trigger, even if there are no buffers. This avoids stalls of the processing graph in some cases. (#3028) - Links are now marked as passive by PipeWire itself so that the right thing happens in all cases. - Implement the in/out/true values for the node.passive property. Place a passive state on ports to make passive links on a port by port basis. - pw-cat has seen improvements in the encoded file playback case. - The rtp module has support for MIDI now. - DSCP is now configurable in the RTP module. - The loopback module doesn't randomly fail to work anymore. (#3028) - The null-audio sink can now be given a format and it will return this instead of the default float ones. This makes it possible to make a null-sink that has a given format. - The compress offload sink has seen many improvements. It now no longer uses tinycompress to be able to detect the available codecs. - The ALSA plugin now handles some impossible cases better. (#2971) - Fix compilation on older compilers. (#3050) - The FIX_ flags are now implemented more correctly by fixating the stream to the format of the sink/source they ask to be connected to. There is now also an option to override the fixation based on rules. - Format parsing was improved and should now support all format strings supported by pulseaudio including upper and lower case variants and shortcuts. - Channelmap parsing was improved and should now reject invalid channelmaps as well as support the shortcuts supported by pulseaudio. - Escape codes in module arguments now work as it does in pulseaudio. (#3071) - The min quantum was changed from 256/48000 to 128/48000 to fix some issues with games that expect 5ms or less of latency. - jack.passive-links can now be used to have a JACK client make passive links and the node.passive property is no longer used for this because it has a different function. - The qsynth rule was updated to the new node.passive features. It is now only passive on the output side. - BAP delay and transport latency are handled now. - A2DP and SCO can now use bigger buffers to improve quality when the reception is jittery. - The AT+BCC command is now implemented. - Packet encoding now happens ahead of time when possible to avoid delays before sending it. - Source should now always produce complete (padded) buffers to avoid sync problems. - Don't set unnecessary socket options. - The pipewiresrc now has an autoconnect argument. - The metadata plane count is now handled correctly in more cases. - Stream errors are now handled correctly to stop the GStreamer elements. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libavif: add recipeMarkus Volk2023-03-071-0/+16
| | | | | | | libavif is a needed dependency to add av1 support for the upcoming webkitgtk release Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* dav1d: add recipeMarkus Volk2023-03-071-0/+17
| | | | | Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* packagegroup-meta-multimedia: mycroft needs pulseaudioKhem Raj2023-03-061-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* vlc: Upgrade to 3.0.18Khem Raj2023-03-058-107/+88
| | | | | | | Drop 64-bit time_t patch, its already fixed in 3.0.18 Add patches to fix buld with clang16 and musl Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: update 0.3.65 -> 0.3.66Markus Volk2023-02-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a bugfix release that is API and ABI compatible with previous 0.3.x releases. - Fix a regression in the pulseaudio module-combine-stream because the new module-combine-stream was not installed. - PipeWire can now generate a limits.d config file with our recommended settings for priorities and memlock. - Avoid rate switches when the graph is idle. - The rate selection algorithm was improved. This ensures minimal performance and quality loss when resampling. - The default min.quantum was set to 32 again after it got erronously changed to (the too low) 16 in version 0.3.45. - Fix compilation issues with rust bindings because of macros in defines. Work around it for now. (#2952) - Invalid file mappings are now refused (#2617 #2914 #3007) - Modules, exec and objects can now be loaded depending on conditions. One example is the X11-bell module that can now be disabled with a custom property override. - Filter now also supports _trigger_process() to drive the graph. - TID is now added to the journald log. - PipeWire generates and installs */etc/security/limits.d/25-pw-rlimits.conf* that by default contains project's recommended settings. Creation of the pipewire group is left to the distro or user ( `groupadd -r pipewire` ). See the rlimits-* Meson options for controlling this behavior. - Additionally there is now by default disabled Meson option that will install */etc/security/limits.d/20-pw-defaults.conf* with the current Linux default memlock value. Distros with only kernels >=5.16 or always using systemd v251 or newer do not need this. But all other builds should set the `-Dpam-defaults-install=true` Meson option to ensure that the memlock value is always large enough. Thanks to Rickie Schroeder for pointing out that the default Linux memlock value has been somewhat recently increased. - Install module-combine-stream. - RTP source now has support for custom channel names. - RTP source will now stop when inactive. - There is now - Filter-chain has a new mysofa based spacializer plugin. - The RTP modules can now use direct clock timestamps to send and receive packets. This makes it possible to synchronize sender and receiver with a PTP clock, for example. - Filter-chain now has an invert plugin to invert the polarity of a signal. (#3008) - There is now an option to set the channels used for probing Pro Audio devices. This could unlock more samplerates for some devices when they are probed with fewer channels. (#2990) - Support was added for other clocks than the MONOTONIC clock in the driver nodes. This can be used to synchronize the graph to a PTP clock, for example. - The ALSA source has some more headroom when rate matching to avoid stuttering when following another driver. - libcamera controls are now mapped to standard PipeWire property values. - The channelmixer has seen some improvements. MONO and undefined channel layouts are now upmixed and downmixed more correctly. (#3010) - Many BAP support fixes. - The gstreamer elements now support buffer video metadata so that strides are correctly handled. - pipewiresrc will now error out correctly in more cases. (#2935) - The frame to/from time functions are improved to also work with negative time and frame offsets. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire-media-session: update 0.4.1 -> 0.4.2Markus Volk2023-02-111-1/+1
| | | | | | | | | | | | | | | | | | | Media Session 0.4.2 (2023-01-20) This is a small release to keep the dead corpse walking... Repeated attempts to shoot it in the head seem to have failed (We don't think it is running with a lot of brains left). It does not look pretty and we don't know yet when it will finally stay down. What we do know is that some creatures (humans?) have been secretly feeding it with their brain cells and as such, here we are... Anyway, it contains some minor patches for some organ (memory?) leaks. It also adds some fixes to make things stumble on (compile?) and make disturbing slurping sounds again (work?) with the latest PipeWire versions. Seriously.. back off.. don't become a victim... use Wireplumber. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: update 0.3.64 -> 0.3.65Markus Volk2023-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a bugfix release that is API and ABI compatible with previous 0.3.x releases. - Add back the deprecated symbols but make sure a deprecated warning is emitted for them. This fixes compilation issues in bindings. - Fix an error in the AVX code that could cause crackling in filter-chain when using the mixer. - The convolver in filter-chain can now select an IR from a list of IRs that best matches the current samplerate. Also resampling of the IR has been improved. - A new native module-combine-stream was added. You can use this to create a 5.1 device from 3 stereo soundcards, for example, or direct the output to multiple sinks at once. - Support for Bluetooth MIDI was added. This requires a wireplumber addition as well. - An ALSA plugin rule was added to tweak the buffer settings in Davinci Resolve so that it now runs with acceptable latency. (#1697) - Support for compress offload was added using tinycompress. This allows compressed formats to be decoded in hardware using ALSA on some devices. - Many more buffixes and improvements. - Add back the deprecated symbols but make sure a deprecated warning is emitted for them. (#2952) - Fix a regression when running older servers and newer clients (such as flatpaks on older server) where the server would run clients too soon, causing crashes. (#2964) - Ensure that environment variables override any config values. - pw-cli has received some improvements in the output. - pw-cat can now use ffmpeg to demux streams for compress offload. - The convolver IR volume is now preserved after resampling. - Adapter ports can now have a custom prefix. - module-rt now clamps the realtime priority to the user allowed one if it is within an acceptable range. Before it would fall back to RTKit immediately. - The module-echo-cancel can now have per stream channel layouts which makes it possible to link to specific audio ports on a device. (#2939) - Fix an error in the AVX code that could cause crackling in filter-chain when using the mixer. (#2965) - The convolver in filter-chain can now select an IR from a list of IRs that best matches the current sample-rate. - module-pipe-* now better matches the pulseaudio properties. (#2973) - A new combine-stream module was added to combine multiple sinks into one sink. It is also possible to merge multiple sources into one. - module-rtp-source now has match rules to select what SAP sessions to stream from. There were also improvements to the buffering and latency handling. - module-rtp-sink now handles multicast loopback correctly. - module-rtp-sink implements min-ptime and max-ptime to control the send packet latency. - A new modifier flag was added to the video format parser helper to allow 0 (linear) as a valid modifier. (#2943) - Params includes were reorganized to make it more scalable. Many compressed audio formats were added. - The alsa pcm plugin now handles invalid values from the driver gracefully. (#2953) - Fix some potential stuttering cause by wrong scaling and overflow of the output buffers in audioconvert. (#2680) - Debug output is now also sent to the log instead of stdout. (#2923) - A debug context was added to debug macros to implement custom debug handling. This is used to redirect the debug of pods to the debug log instead of using some custom duplicated code. - Fix some warnings for potentially undefined shifts in format conversion. - Support for compress offload was added using tinycompress. This is mostly used on some embedded hardware where decoding of audio formats can be done in hardware. - Some fixes for LE audio were added. - Support for Bluetooth MIDI was added. This requires a wireplumber addition as well. - Reply OK to empty commands. - Improve compatibility with some devices that send stray \n such as the Sennheiser HD 350BT. (#2991) - Devices with unsupported formats (by the pulseaudio API) are now also listed in the pulseaudio API (with invalid formats). - The native module-combine-stream is used for module-combine-sink. - Make jack.merge-monitor default to true to better match the jack1/2 behaviour. Add an exception for mixxx, which is more usable with unmerged monitors. (#1760) - The property handling in the ALSA plugin was improved. alsa.properties and alsa.rules can now be added to the config file. - A rule was added to tweak the buffer settings in Davinci Resolve so that it can run with acceptable latency. (#1697) - ALSA volume will now also use cubic volumes, like pulseaudio. - The ALSA ctl plugin now also uses the client-rt.conf file. - A new alsa.volume-method was added to configure cubic or linear volume. This can be set per application using the rules. - pipewiresrc will now advertize DMABUF support if the pipeline suports this. - pipewiresrc will now always be a live source unless told otherwise. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>