зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1821629 [Pipewire/DMABuf] Don't create dmabuf backend if it's disabled r=ng,webrtc-reviewers
Depends on D172224 Differential Revision: https://phabricator.services.mozilla.com/D172229
This commit is contained in:
Родитель
da0a2bbf56
Коммит
a5b56640d8
|
@ -419,7 +419,9 @@ bool SharedScreenCastStreamPrivate::StartScreenCastStream(
|
|||
RTC_LOG(LS_ERROR) << "Unable to open PipeWire library";
|
||||
return false;
|
||||
}
|
||||
egl_dmabuf_ = std::make_unique<EglDmaBuf>();
|
||||
if (mozilla::gfx::IsDMABufEnabled()) {
|
||||
egl_dmabuf_ = std::make_unique<EglDmaBuf>();
|
||||
}
|
||||
|
||||
pw_stream_node_id_ = stream_node_id;
|
||||
|
||||
|
@ -508,7 +510,8 @@ bool SharedScreenCastStreamPrivate::StartScreenCastStream(
|
|||
for (uint32_t format : {SPA_VIDEO_FORMAT_BGRA, SPA_VIDEO_FORMAT_RGBA,
|
||||
SPA_VIDEO_FORMAT_BGRx, SPA_VIDEO_FORMAT_RGBx}) {
|
||||
// Modifiers can be used with PipeWire >= 0.3.33
|
||||
if (has_required_pw_client_version && has_required_pw_server_version) {
|
||||
if (egl_dmabuf_ &&
|
||||
has_required_pw_client_version && has_required_pw_server_version) {
|
||||
modifiers_ = egl_dmabuf_->QueryDmaBufModifiers(format);
|
||||
|
||||
if (!modifiers_.empty()) {
|
||||
|
@ -927,7 +930,7 @@ bool SharedScreenCastStreamPrivate::ProcessDMABuffer(
|
|||
|
||||
const uint n_planes = spa_buffer->n_datas;
|
||||
|
||||
if (!n_planes) {
|
||||
if (!n_planes || !egl_dmabuf_) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче