DefaultModelRef: a role's RUNTIME default model DESIGNATION – embedded in that role's ModelPool ("this pool holds these models, and THIS one is the default").
Designation, never ownership: the default's ModelBin lives in the pool's models inventory (or limbo, pre-promotion) like any other model.
SEEDED ONCE from the parsed ModelMuxConfig in modelmux_bin_new(); after that the config's default_* fields are never read nor written again – ALL runtime re-designation (model/routing default{}, model/load default flags, OTA rename commit/rollback, promote/swap default-follows-the-slot) mutates the pool refs, under modelmux_bin->lock (same discipline the config fields had).
IDENTITY (name/version/gpu/key) is authoritative: it may name a model whose bin does not exist yet (config-file default before load_defaults; a load that failed or was rejected). bin is a DERIVED CACHE only – the base shard once the identity is loaded, NULL until then. INVARIANT (all writers enforce it): bin == NULL || bin's canonical key equals key. Guards that decide "is X a default?" MUST compare key (identity), never bin – a designated-but-unloaded default is still the default.
Definition at line 625 of file sources/gst-plugins/gst-nvmodelmux/gstnvmodelmux_priv.h.

Data Fields | |
| gchar * | name |
| gchar * | version |
| model NAME; NULL => no default for this role More... | |
| gint | gpu |
| model VERSION ("1", ...); NULL only with name More... | |
| gchar * | key |
| placement pin (model/routing default{}.gpu); MM_GPU_ANY = any instance More... | |
| ModelBin * | bin |
| cached canonical "name@version" (NULL <=> no default) – what every guard compares More... | |
| ModelBin * DefaultModelRef::bin |
cached canonical "name@version" (NULL <=> no default) – what every guard compares
Definition at line 633 of file sources/gst-plugins/gst-nvmodelmux/gstnvmodelmux_priv.h.
| gint DefaultModelRef::gpu |
model VERSION ("1", ...); NULL only with name
Definition at line 629 of file sources/gst-plugins/gst-nvmodelmux/gstnvmodelmux_priv.h.
| gchar * DefaultModelRef::key |
placement pin (model/routing default{}.gpu); MM_GPU_ANY = any instance
Definition at line 631 of file sources/gst-plugins/gst-nvmodelmux/gstnvmodelmux_priv.h.
| gchar * DefaultModelRef::name |
Definition at line 627 of file sources/gst-plugins/gst-nvmodelmux/gstnvmodelmux_priv.h.
| gchar * DefaultModelRef::version |
model NAME; NULL => no default for this role
Definition at line 628 of file sources/gst-plugins/gst-nvmodelmux/gstnvmodelmux_priv.h.