releaseAllFor method

Future<void> releaseAllFor(
  1. String miniProgramId
)

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);
  }
}