call a callback when all passed streams have ended or any stream has errored