releaseAllFor method
Implementation
Future<void> releaseAllFor(String miniProgramId) async {
final captureId = _activeByApp[miniProgramId];
if (captureId != null) {
try {
if (await provider.cancel(captureId)) {
_cancelledCaptureIds.add(captureId);
}
} on Object {
// Host lifecycle cleanup is best effort.
}
}
final mediaRefs = _mediaOwners.entries
.where((entry) => entry.value == miniProgramId)
.map((entry) => entry.key)
.toList(growable: false);
for (final mediaRef in mediaRefs) {
_mediaOwners.remove(mediaRef);
await _releaseBestEffort(mediaRef);
}
}