mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
gst: Add support for DMA_DRM / explicit modifiers
Gstreamer 1.24 added and largely switched to a new, modifier aware DMABuf API. Unfortunately that breaks the existing DMABuf support in the PW Gst element. Add support for the new API.
This commit is contained in:
parent
f2f60ee0ec
commit
f1b75fc6f8
6 changed files with 417 additions and 169 deletions
|
|
@ -364,6 +364,7 @@ gst_deps_def = {
|
|||
}
|
||||
|
||||
gst_dep = []
|
||||
gst_dma_drm_found = false
|
||||
foreach depname, kwargs: gst_deps_def
|
||||
dep = dependency(depname, required: gst_option, kwargs: kwargs)
|
||||
summary({depname: dep.found()}, bool_yn: true, section: 'GStreamer modules')
|
||||
|
|
@ -376,6 +377,10 @@ foreach depname, kwargs: gst_deps_def
|
|||
break
|
||||
endif
|
||||
gst_dep += [dep]
|
||||
|
||||
if depname == 'gstreamer-allocators-1.0' and dep.version().version_compare('>= 1.23.1')
|
||||
gst_dma_drm_found = true
|
||||
endif
|
||||
endforeach
|
||||
|
||||
# This code relies on the array being empty if any dependency was not found
|
||||
|
|
@ -384,6 +389,9 @@ summary({'gstreamer-device-provider': gst_dp_found}, bool_yn: true, section: 'Ba
|
|||
|
||||
cdata.set('HAVE_GSTREAMER_DEVICE_PROVIDER', get_option('gstreamer-device-provider').allowed())
|
||||
|
||||
summary({'gstreamer DMA_DRM support': gst_dma_drm_found}, bool_yn: true, section: 'Backend')
|
||||
cdata.set('HAVE_GSTREAMER_DMA_DRM', gst_dma_drm_found)
|
||||
|
||||
webrtc_dep = dependency('webrtc-audio-processing-1',
|
||||
version : ['>= 1.2' ],
|
||||
required : false)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue