diff --git a/spa/plugins/libcamera/libcamera-source.cpp b/spa/plugins/libcamera/libcamera-source.cpp index 26ef14874..f6f20c827 100644 --- a/spa/plugins/libcamera/libcamera-source.cpp +++ b/spa/plugins/libcamera/libcamera-source.cpp @@ -676,7 +676,10 @@ static int port_set_format(struct impl *impl, struct port *port, info.media_subtype == port->current_format->media_subtype && info.info.raw.format == port->current_format->info.raw.format && info.info.raw.size.width == port->current_format->info.raw.size.width && - info.info.raw.size.height == port->current_format->info.raw.size.height) + info.info.raw.size.height == port->current_format->info.raw.size.height && + info.info.raw.flags == port->current_format->info.raw.flags && + (!(info.info.raw.flags & SPA_VIDEO_FLAG_MODIFIER) || + (info.info.raw.modifier == port->current_format->info.raw.modifier))) return 0; break; case SPA_MEDIA_SUBTYPE_mjpg: