Resolve the lazy MediaBase.objectURL promise into a string
suitable for direct use in <audio src> / <img src> /
<video src> / <a href download>. Returns undefined until the
URL is available.
Lifecycle:
media changes) the helper awaits
media.objectURL, then commits the resolved string to the
returned signal.media changes) the helper calls
media.revoke() to free the object URL slot. The next consumer
that accesses media.objectURL mints a fresh URL from the same
Blob, so live re-renders just work.injectMediaUrl stays at undefined. Inspect
media.error to surface the failure.Pair with injectAudio / injectImages /
injectVideo / injectFiles to bridge SDK media
handles into Angular templates without manual
URL.createObjectURL bookkeeping.
media accepts a plain handle or a Signal<MediaBase | undefined>
so callers can feed a computed(() => stream.audio()[0]).